gpt4 book ai didi

r - R as.POSIXct 和 as.POSIXlt 4 月第一天的不同解析行为,R april 是在愚弄我吗?

转载 作者:行者123 更新时间:2023-12-05 00:53:23 27 4
gpt4 key购买 nike

我在使用 R 中的数据格式方面没有经验,而且我正在努力理解 4 月 1 日的不同行为......这是愚人节吗? :)

它们具有相同的格式,但似乎无法使用 as.POSIXct 解析第一天(当其他日期显示没有问题时)或者它不使用 as.POSIXlt 返回时区?

(as.POSIXct("1/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # this doesn't work
(as.POSIXct("2/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # this works
(as.POSIXct("01/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # this doesn't
(as.POSIXct("02/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # this does...

(as.POSIXlt("1/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # This works, but does not returns a time zone
(as.POSIXlt("2/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # This works, and returns a time zone
(as.POSIXlt("01/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # This works, and does not returns a time zone
(as.POSIXlt("02/04/2012 02:58", format = "%d/%m/%Y %H:%M")) # This works, and returns a time zone

关于为什么的任何方向?谢谢!

最佳答案

这几乎可以肯定是夏令时问题。不知道为什么 POSIXctPOSIXlt 行为不同。从您的个人资料来看,您似乎在墨西哥。

来自 here :

most of Mexico, including capital Mexico City, will set the clocks 1 hour forward 3 weeks later, on Sunday, April 1, 2012.

所以问题是 2012 年 4 月 1 日凌晨 2:58 不存在在您所在地区当前有效的时区中。

除非与 POSIXct/POSIXlt 差异有特定关系,否则这可能应该作为例如的副本关闭:

还有 this r help question

如果您想处理这个问题,例如通过将所有时间设置为 UTC(即忽略您的本地时区设置),我相信 Stack Overflow 上有很多建议(现在您知道要搜索“夏令时”,应该很容易找到它们)。

obligatory xkcd

关于r - R as.POSIXct 和 as.POSIXlt 4 月第一天的不同解析行为,R april 是在愚弄我吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68051903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com