0

Unix 时间是 1435617000。

as.Date(1435617000,origin="01-01-1970")
[1] "3930586-11-23"

这是错误的。我正在尝试(a)获得正确的日期,每个时代转换器是GMT: Mon, 29 Jun 2015 22:30:00 GMT.

如何让 R 告诉我月、日、年、时、分和秒?谢谢你。

4

1 回答 1

3

我认为发生这种情况的原因是因为as.Date将参数转换为类日期对象。在这种情况下,您不需要日期,而是需要一个类POSIXct对象,因为您的输入(x向量)包含其他as.Date无法管理的信息。即使使用正确的函数也可能出现的另一个问题是,如果您没有使用tz参数指定正确的时区(您的时区与原始时间相同的情况除外)。

下面的代码完成了这项工作。

x <- 1435617000
as.POSIXct(x, origin = "1970-01-01", tz ="GMT")
[1] "2015-06-29 22:30:00 GMT"

采用as.Date

如果您只想要日期,但您有一个完整的 Unix 时间x,则只需除以86400(即一天中的秒数!)即可获得正确的日期。

 as.Date(x/86400L, origin = "1970-01-01")
[1] "2015-06-29"

另一个重要细节

这个origin论点必须提供,YYYY-MM-DD而不是像你那样DD-MM-YYYY我不确定,但我认为前者是唯一被接受和正确的方法。

于 2015-07-23T19:43:29.183 回答