我对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"
请注意,上面只是将其转换为日期格式,而不是YYYY-MM-DD-HH格式。我怎么在lubridate这样做?我如何使用基数R?
非常感谢提前
答案 0 :(得分:12)
德克是对的。但是,如果您打算使用lubridate函数:
paste( year(dt), month(dt), mday(dt), hour(dt) sep="-")
另一方面,如果你想按照它们应该使用的方式处理POSIXct
个对象,那么这应该满足:
format(x, format="%Y-%m-%d-%H")
答案 1 :(得分:10)
lubridate
有一个as_datetime()
恰好有UNIX纪元时间作为默认的 origin 时间,这使得这非常简单:
> as_datetime(1356129107)
[1] "2012-12-21 22:31:47 UTC"
可在此处找到更多详细信息:https://rdrr.io/cran/lubridate/man/as_date.html
答案 2 :(得分:0)
我使用@leerssej提供的润滑溶液
但是,如果有人在基数R中更喜欢@IRTFM的解决方案,但是也想要几分钟和几秒钟,下面是一个示例:
import { Text } from 'slate';