我在Mac OS X Mountain Lion上运行R 2.15.1。我试图用lubridate
包(v 1.1.0)在2011年的美国东部时区以15分钟的时间间隔生成一系列时间。下面好像它应该工作:日光节约时间在lubridate
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年夏令时开始在凌晨2点3月13日ESPAN在该日期前16个值:
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日结束,这里是该日的前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 AM EDT出现两次?美国东部时间凌晨1点以后的一小时不应该是美国东部时间上午1点?这是lubridate
的问题,还是操作系统的一些怪癖?
只是说明这个错误似乎已被修复。 –