簡體   English   中英

從UTC轉換為R中的日期格式

[英]Converting from UTC into date format in R

我有一個UTC時間戳。 我想將其轉換為R YYYY / MM / DD格式。

例如1318394558766 我嘗試了format命令失敗。

任何幫助表示贊賞。

謝謝!

您可以使用as.POSIXctas.POSIXlt 但是,您必須知道開始的毫秒數的起始日期。

as.POSIXct(1318394558766/1000, origin='1970-01-01')

> unlist(as.POSIXlt(1318394558766/1000, origin='1970-01-01'))
    sec     min    hour    mday     mon    year    wday    yday   isdst 
 38.766  42.000  21.000  11.000   9.000 111.000   2.000 283.000   1.000 
> 

然后,您可以使用format獲得所需的YYYY / MM / DD:

format(as.POSIXct(1318394558766/1000, origin='1970-01-01'), format='%Y/%m/%d')

除了賈斯汀的答案(而且由於我無法發表評論)之外,您可能還希望將tz添加到轉換中。

as.POSIXct(1318394558766/1000, origin='1970-01-01')
[1] "2011-10-12 05:42:38 EST"
as.POSIXct(1318394558766/1000, origin='1970-01-01', tz="UTC")
[1] "2011-10-12 04:42:38 UTC"

有關更多信息,請參見;

?timezone

另一個解決方案是使用.POSIXct

utc <- .POSIXct(1318394558766/1000, tz="UTC")

然后,您可以輕松地將utc轉換為日期或字符向量:

as.Date(utc)            # Date vector
format(utc, "%Y-%m-d")  # character vector

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM