2012-08-27 11 views
5

OS X Mountain Lion'lu bir Mac üzerinde R 2.15.1 çalıştırıyorum. ABD Doğu saat diliminde 2011 için 15 dakikalık aralıklarla bir dizi oluşturmak için lubridate paketini (v 1.1.0) kullanmaya çalışıyorum. o iş gerektiği gibi şu görünüyor:Yaz mevsiminde gün ışığından yararlanma süresi

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") 

Şimdi 2011 yaz saati başladı 2 AM 13 Mart'ta bu tarihte Espan ilk 16 değerleri şunlardır: In

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" 

Yukarıdaki çıktıyı buraya sığdırmak için tarihleri ​​kaldırdım. Ama bana beklediğim şeyi veriyor. 1 AM EST'den bir saat sonra 3 AM EDT.

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" 

Neden 01:00 EDT iki kez görünüyor: Ancak, yaz saati bu tarihte burada Espan ilk 16 değerlerini olan 6 Kasım tarihinde sona erdi ve? 1 saatten 1 saat sonra saat EDT EDT değil mi? Bu, lubridate ile bir sorun mu yoksa işletim sisteminin bir tuhaflığı mı?

+0

Sadece bu hatanın giderilmiş olduğu anlaşılıyor. –

cevap

4

Bence bu bir hatadır.

> seq(as.POSIXct("2011-11-06 00:15:00", tz='America/New_York'), 
     as.POSIXct('2011-11-06 02:45:00', tz='America/New_York'), 
     by='min')[c(TRUE, rep(FALSE, 14))] 

[1] "2011-11-06 00:15:00 EDT" "2011-11-06 00:30:00 EDT" "2011-11-06 00:45:00 EDT" 
[4] "2011-11-06 01:00:00 EDT" "2011-11-06 01:15:00 EDT" "2011-11-06 01:30:00 EDT" 
[7] "2011-11-06 01:45:00 EDT" "2011-11-06 01:00:00 EST" "2011-11-06 01:15:00 EST" 
[10] "2011-11-06 01:30:00 EST" "2011-11-06 01:45:00 EST" "2011-11-06 02:00:00 EST" 
[13] "2011-11-06 02:15:00 EST" "2011-11-06 02:30:00 EST" "2011-11-06 02:45:00 EST" 
+0

Teşekkürler. Sadece açık olmak gerekirse, o, lubridatta bir hata gibi görünüyor. – Ringold

+0

Olmuş gibi görünüyor. Ancak, saat dilimleri ve gün ışığından yararlanma saati sorunları genellikle zor ve işletim sistemine özgüdür. – GSee

+0

Benzer şekilde, x86_64-pc-mingw32/x64 (64-bit) üzerindeki @Gsee with R sürüm 2.15.1 (2012-06-22) için benzer sonuçlar elde ediyorum, bu nedenle işletim sistemine özgü değil, belirli bir hataya özgü olmayabilir. –

İlgili konular