Suche…


Bemerkungen

verwandte Themen

Durcheinandergebrannte Notizen

  • Date : Speichert die Zeit in Tagen seit der UNIX-Epoche am 1970-01-01 . mit negativen Werten für frühere Termine.
  • Es wird als ganze Zahl dargestellt (in der internen Darstellung jedoch nicht erzwungen).
  • Sie werden immer nach den Regeln des aktuellen Gregorianischen Kalenders gedruckt, auch wenn der Kalender vor langer Zeit nicht verwendet wurde.
  • Zeitzonen werden nicht POSIXct , daher sollte die Zeit für POSIXct oder POSIXlt Objekte nicht POSIXlt werden.
  • sys.Date() gibt ein Objekt der Klasse Date

Weitere Notizen

Datumsangaben

Um Dates zu formatieren, verwenden wir die Funktion format(date, format="%Y-%m-%d") entweder mit dem POSIXct (von as.POSIXct() ) oder POSIXlt (von as.POSIXlt() ).

d = as.Date("2016-07-21") # Current Date Time Stamp

format(d,"%a")            # Abbreviated Weekday
## [1] "Thu"

format(d,"%A")            # Full Weekday
## [1] "Thursday"

format(d,"%b")            # Abbreviated Month
## [1] "Jul"

format(d,"%B")            # Full Month
## [1] "July"

format(d,"%m")            # 00-12 Month Format
## [1] "07"

format(d,"%d")            # 00-31 Day Format
## [1] "21"

format(d,"%e")            # 0-31 Day Format
## [1] "21"

format(d,"%y")            # 00-99 Year
## [1] "16"

format(d,"%Y")            # Year with Century
## [1] "2016"

Weitere ?strptime .

Termine

Um eine Variable zu einem Datum zu zwingen, verwenden Sie die Funktion as.Date() .

> x <- as.Date("2016-8-23")
> x
[1] "2016-08-23"
> class(x)
[1] "Date"

Mit der Funktion as.Date() können Sie ein as.Date() . Der Standardwert ist %Y-%m-%d , also Jahr-Monat-Tag.

> as.Date("23-8-2016", format="%d-%m-%Y") # To read in an European-style date
[1] "2016-08-23"

Die Formatzeichenfolge kann entweder in Anführungszeichen oder in Anführungszeichen gesetzt werden. : Daten werden in der Regel in einer Vielzahl von Formen, wie zum Ausdruck "dm-yy" oder "dm-YYYY" oder "md-yy" oder "md-YYYY" oder "YYYY-md" oder "YYYY-dm" . Diese Formate können auch ausgedrückt werden, indem "-" durch "/" . Ferner werden Daten auch in den Formen ausgedrückt, beispielsweise "6. November 1986" oder "6. November 1986" oder "6. November 1986" oder "6. November 1986" und so weiter. Die Funktion as.Date () akzeptiert alle derartigen Zeichenfolgen. Wenn wir das entsprechende Format der Zeichenfolge erwähnen, gibt sie immer das Datum in der Form "YYYY-md" .

Angenommen, wir haben eine Datumszeichenfolge "9-6-1962" im Format "%d-%m-%Y" .

#
# It tries to interprets the string as YYYY-m-d
#
> as.Date("9-6-1962")
[1] "0009-06-19"       #interprets as "%Y-%m-%d"
> 
as.Date("9/6/1962")
[1] "0009-06-19"       #again interprets as "%Y-%m-%d"
>
# It has no problem in understanding, if the date is in form  YYYY-m-d or YYYY/m/d
#
> as.Date("1962-6-9")
[1] "1962-06-09"        # no problem
> as.Date("1962/6/9")
[1] "1962-06-09"        # no problem
> 

Durch die Angabe des korrekten Formats der Eingabezeichenfolge können wir die gewünschten Ergebnisse erzielen. Wir verwenden die folgenden Codes, um die Formate für die Funktion as.Date () anzugeben.

Formatcode Bedeutung
%d Tag
%m Monat
%y Jahr zweistellig
%Y Jahr 4-stellig
%b abgekürzter Monat in 3 Zeichen
%B vollständiger Name des Monats

Betrachten Sie das folgende Beispiel, indem Sie den Formatparameter angeben:

> as.Date("9-6-1962",format="%d-%m-%Y")
[1] "1962-06-09"
>

Der Parametername Format kann weggelassen werden.

> as.Date("9-6-1962", "%d-%m-%Y")
[1] "1962-06-09"
>

In manchen Fällen werden die Namen der Monate, die mit den ersten drei Zeichen abgekürzt wurden, beim Schreiben der Daten verwendet. In diesem Fall verwenden wir den Formatbezeichner %b .

> as.Date("6Nov1962","%d%b%Y")
[1] "1962-11-06"
>

Beachten Sie, dass zwischen den Elementen in der Datumszeichenfolge keine '-' oder '/' oder Leerzeichen stehen. Die Formatzeichenfolge sollte genau mit dieser Eingabezeichenfolge übereinstimmen. Betrachten Sie das folgende Beispiel:

> as.Date("6 Nov, 1962","%d %b, %Y")
[1] "1962-11-06"
>

Beachten Sie, dass in der Datumszeichenfolge ein Komma und somit auch in der Formatangabe ein Komma enthalten ist. Wenn in der Formatzeichenfolge kein Komma angegeben wird, führt dies zu einer NA . Ein Beispiel für die Verwendung des Formatbezeichners %B ist wie folgt:

> as.Date("October 12, 2016", "%B %d, %Y")
[1] "2016-10-12"
>
> as.Date("12 October, 2016", "%d %B, %Y")
[1] "2016-10-12"
> 

%y Format %y ist systemspezifisch und sollte daher mit Vorsicht verwendet werden. Andere mit dieser Funktion verwendete Parameter sind origin und tz (Zeitzone).

Zeichenketten in Datumsobjekte analysieren

R enthält eine Date-Klasse, die mit as.Date() und eine Zeichenfolge oder einen Vektor von Zeichenfolgen verwendet. Wenn das Datum nicht im Datumsformat YYYY-MM-DD (ISO 8601) strptime , eine Formatierungszeichenfolge mit strptime Tokens .

as.Date('2016-08-01')    # in ISO format, so does not require formatting string
## [1] "2016-08-01"

as.Date('05/23/16', format = '%m/%d/%y')
## [1] "2016-05-23"

as.Date('March 23rd, 2016', '%B %drd, %Y')    # add separators and literals to format
## [1] "2016-03-23"

as.Date('  2016-08-01  foo')    # leading whitespace and all trailing characters are ignored
## [1] "2016-08-01"

as.Date(c('2016-01-01', '2016-01-02'))
# [1] "2016-01-01" "2016-01-02"


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow