【问题标题】:R as.POSIXct(Sys.Date()) returns date a day earlyR as.POSIXct(Sys.Date()) 提前一天返回日期
【发布时间】:2012-01-21 13:45:26
【问题描述】:

我错过了什么?

Sys.Date()
[1] "2011-12-15"

as.POSIXct(Sys.Date())
[1] "2011-12-14 19:00:00 EST"  # Returning the day before !!

as.POSIXct(Sys.Date(), origin="1970-01-01 00:00:00")
[1] "2011-12-14 19:00:00 EST"  # Still returning day before !!

Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;
LC_MONETARY=English_United States.1252;LC_NUMERIC=C;
LC_TIME=English_United States.1252"

感谢您的帮助

【问题讨论】:

    标签: r time posixct


    【解决方案1】:

    可能是时区问题。试试这个:

    as.POSIXct(format(Sys.Date()))
    

    请注意,Sys.time() 也存在。

    有关这方面的一些详细信息,请参阅R News 4/1 中的 R 帮助台文章。

    【讨论】:

    • 这解决了它...但是为什么呢?谢谢。
    • 更详细一点,按照@BenBolker 所说的做,然后尝试methods(as.POSIXct),在命令行中先输入as.POSIXct.Date,然后再输入as.POSIXct.default
    • 午夜前 5 小时 - 即 GMT 和 EST 之间的偏移量。
    猜你喜欢
    • 1970-01-01
    • 2015-07-27
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    相关资源
    最近更新 更多