Sök…


Anmärkningar

Relaterade ämnen

Förvirrade anteckningar

  • Date : Lagrar tid som antal dagar sedan UNIX-epoken 1970-01-01 . med negativa värden för tidigare datum.
  • Det representeras som ett heltal (det verkställs dock inte i den interna representationen)
  • De skrivs alltid ut enligt reglerna i den nuvarande gregorianska kalendern, även om kalendern inte användes för länge sedan.
  • Det följer inte tidszoner, så det bör inte användas för att avkorta tiden för POSIXct eller POSIXlt objekt.
  • sys.Date() returnerar ett objekt från Date

Fler anteckningar

Formatera datum

För att formatera Dates använder vi format(date, format="%Y-%m-%d") -funktionen med antingen POSIXct (ges från as.POSIXct() ) eller POSIXlt (ges från 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"

För mer, se ?strptime .

datum

För att tvinga en variabel till ett datum använder as.Date() funktionen as.Date() .

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

as.Date() låter dig ange ett formatargument. Standardvärdet är %Y-%m-%d , vilket är År-månad-dag.

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

Formateringssträngen kan placeras antingen i ett par enkla citat eller dubbla citat. Datum uttrycks vanligtvis i en mängd olika former såsom: "dm-yy" eller "dm-YYYY" eller "md-yy" eller "md-YYYY" eller "YYYY-md" eller "YYYY-dm" . Dessa format kan också uttryckas genom att ersätta "-" med "/" . Dessutom uttrycks datum också i formerna, säg "6 november 1986" eller "6 november 1986" eller "6 november 1986" eller "6 november 1986" och så vidare. Funktionen as.Date () accepterar alla sådana teckensträngar och när vi nämner strängt format, matar den alltid ut datumet i formen "YYYY-md" .

Anta att vi har en "9-6-1962" i formatet "%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
> 

Genom att ange rätt format för inmatningssträngen kan vi få önskade resultat. Vi använder följande koder för att specificera format till as.Date () -funktionen.

Formatera kod Menande
%d dag
%m månad
%y år med två siffror
%Y år med fyra siffror
%b förkortad månad i 3 tecken
%B månadens fulla namn

Betrakta följande exempel ange parametern format:

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

Parameternamnet format kan uteslutas.

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

Vissa gånger används namnen på månaderna förkortade till de tre första tecknen vid skrivningen av datumen. I vilket fall använder vi formatformat %b .

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

Observera att det inte finns antingen '-' eller '/' eller vita mellanrum mellan medlemmarna i datumsträngen. Formatsträngen ska exakt matcha den inmatade strängen. Tänk på följande exempel:

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

Observera att det finns ett komma i datumsträngen och därmed ett komma i formatspecifikationen också. Om komma utelämnas i formatsträngen, resulterar det i en NA . Exempel på användning av %B format är som följer:

> 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 formatet är systemspecifikt och bör därför användas med försiktighet. Andra parametrar som används med denna funktion är ursprung och tz (tidszon).

Analysera strängar i datumobjekt

R innehåller en datumklass, som skapas med as.Date() , som tar en sträng eller vektor av strängar, och om datumet inte är i ISO 8601-datumformat YYYY-MM-DD , en formateringssträng av strptime stil-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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow