2012-03-07 76 views
1

很奇怪的事情發生,而轉化爲POSIXct:POSIXct:as.POSIXct(「2008-03-30 02:00:00」,format =「%Y-%m-%d%H:%M:%S」)失敗是R中的一個錯誤嗎?

> as.POSIXct("2008-03-30 02:00:00",format="%Y-%m-%d %H:%M:%S") 
[1] NA 

但:

> as.POSIXct("2008-02-28 02:00:00",format="%Y-%m-%d %H:%M:%S") 
[1] "2008-02-28 02:00:00 CET" 

我無言以對。它是R中的一個錯誤嗎? 這可能與我的德語(柏林)語言環境有關嗎? 我使用R 2.14.2 for windows。

+0

'as.POSIXct(「2008-03-30 02:00:00」,format =「%Y-%m-%d%H:%M:%S」)'returns'[1]「2008 -03-30 02:00:00 BST「'在我的控制檯上(R版本2.14.0)。這是什麼情況? – MattLBeck 2012-03-07 19:31:56

+2

這可能是DST在您的語言環境中,在這種情況下2AM不存在。 – 2012-03-07 19:36:52

+0

好的,所以這是連接夏令時。將去調查如何使POSIXct解析它(以及實際上)。感謝大家 – user1255510 2012-03-08 11:05:36

回答

5

這是2008年德國夏令時的開始,請參見link。這段時間實際上相當於「2008-03-30 03:00:00」(一小時後),它應該在您的系統上運行。所以,是的,這與您的區域設置有關。

+3

現在,你知道問題是什麼,你可以在SO上搜索「[r]」夏令時「',並且找到類似的混淆現象:http://stackoverflow.com/questions/9455096/xtss- hourly-endpoints-and-daylight-savings,http://stackoverflow.com/questions/8408738/unexpected-behavior-of-scale-x-datetime-in-ggplot2,可能還有更多關於R的幫助清單...... – 2012-03-07 19:45:38

相關問題