R lubridate将秒数转换为日期

bro*_*oli 18 r lubridate

关于R的润滑剂包,我有一个简单的问题.自纪元以来,我在几秒钟内就有了一系列时间戳.我想将其转换为YYYY-MM-DD-HH格式.在基础R中,我可以做这样的事情,首先将其转换为日期格式

> x = as.POSIXct(1356129107,origin = "1970-01-01",tz = "GMT")
> x
[1] "2012-12-21 22:31:47 GMT"
Run Code Online (Sandbox Code Playgroud)

请注意,上面只是将其转换为日期格式,而不是YYYY-MM-DD-HH格式.我怎么在lubridate这样做?我怎么用基础R呢?

非常感谢提前

42-*_*42- 13

德克是对的.但是,如果您打算使用lubridate函数:

paste( year(dt), month(dt), mday(dt), hour(dt) sep="-")
Run Code Online (Sandbox Code Playgroud)

另一方面,如果你想POSIXct按照它们应该使用的方式处理对象,那么这应该满足:

format(x, format="%Y-%m-%d-%H")
Run Code Online (Sandbox Code Playgroud)


lee*_*sej 13

lubridate有一个as_datetime()碰巧有UNIX纪元时间作为默认的原始时间,使这个非常简单:

> as_datetime(1356129107)
[1] "2012-12-21 22:31:47 UTC"
Run Code Online (Sandbox Code Playgroud)

更多细节可以在这里找到:https://rdrr.io/cran/lubridate/man/as_date.html