我在装有 OS X Mountain Lion 的 Mac 上运行 R 2.15.1。我正在尝试使用lubridate
包 (v 1.1.0) 在 2011 年的美国东部时区以 15 分钟的间隔生成一系列时间。以下似乎应该有效:
d0 <- mdy_hms("1/1/2011 5:00:00", tz="UTC")
dspan <- d0 + c(0:35039) * minutes(15)
espan <- with_tz(dspan,tz="America/New_york")
现在,2011 年夏令时开始于 3 月 13 日凌晨 2 点。该日期的前 16 个 espan 值是:
espan[(month(espan)==3)&(day(espan)==13)][1:16]
[1] "00:00:00 EST" "00:15:00 EST" "00:30:00 EST" "00:45:00 EST"
[5] "01:00:00 EST" "01:15:00 EST" "01:30:00 EST" "01:45:00 EST"
[9] "03:00:00 EDT" "03:15:00 EDT" "03:30:00 EDT" "03:45:00 EDT"
[13] "04:00:00 EDT" "04:15:00 EDT" "04:30:00 EDT" "04:45:00 EDT"
在上面的输出中,我删除了日期以使其适合此处。但它给了我我所期望的。美国东部标准时间凌晨 1 点后一小时的时间是美国东部时间凌晨 3 点。但是,夏令时于 11 月 6 日结束,以下是 espan 在该日期的前 16 个值:
espan[(month(espan)==11)&(day(espan)==6)][1:16]
[1] "00:00:00 EDT" "00:15:00 EDT" "00:30:00 EDT" "00:45:00 EDT"
[5] "01:00:00 EDT" "01:15:00 EDT" "01:30:00 EDT" "01:45:00 EDT"
[9] "01:00:00 EDT" "01:15:00 EDT" "01:30:00 EDT" "01:45:00 EDT"
[13] "02:00:00 EST" "02:15:00 EST" "02:30:00 EST" "02:45:00 EST"
为什么凌晨 1 点 EDT 出现两次?比美国东部时间凌晨 1 点晚一小时的时间不应该是美国东部标准时间凌晨 1 点吗?这是lubridate
操作系统的问题还是某些怪癖?