在 R 中从 UTC 转换为日期格式



我有一个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')

另一种解决方案是使用 .POSIXct

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

然后,您可以轻松地将utc转换为日期或字符向量:

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

除了 Justin 的回答(因为我无法发表评论),您可能还想将 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

相关内容

  • 没有找到相关文章

最新更新