我在 R 中处理数据格式方面没有经验,而且我正在努力理解四月一日的不同行为......这是愚人节吗??:)
它们具有相同的格式,但似乎无法使用 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
Run Code Online (Sandbox Code Playgroud)
关于为什么的任何方向?谢谢!
这几乎可以肯定是夏令时问题。不知道为什么POSIXct并且POSIXlt行为不同。从您的个人资料来看,您好像在墨西哥。
从这里:
墨西哥大部分地区,包括首都墨西哥城,将在 3 周后的 2012 年 4 月 1 日星期日将时钟调快 1 小时。
所以问题是 2012 年 4 月 1 日凌晨 2:58在您的语言环境中当前活动的时区中不存在。
除非有特定的事情与 POSIXct/POSIXlt 差异有关,否则这可能应该作为例如的副本关闭:
如果您想通过将所有时间设置为 UTC(即忽略您的本地时区设置)来解决这个问题,我相信 Stack Overflow 上有很多建议(现在您知道搜索“夏令时”应该是很容易找到它们)。
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |