我在R中有一系列字符時間戳。當我使用直觀的方法將他們的類更改爲POSIXct
時,R分配了模糊的時區EST
。時區:如何避免模糊術語,如EST?
例如:
as.POSIXct("2012-08-06 15:32:00")
as.POSIXct("2012-08-06 15:32:00", tz = "Australia/Brisbane")
as.POSIXct("2012-08-06 15:32:00", tz = "")
都產生在我的兩個(Mac和Windows)盒相同的輸出:
"2012-08-06 15:32:00 EST"
這裏的問題是EST
不應該是個時區:東部標準時間在美國或澳大利亞東部標準時間或加拿大的其他時區(從?timezone
):
請注意,這些名稱中的一些可能不是您想象的那樣:在 特定的EST是在加拿大使用的時區,沒有夏令時 時間,而不是EST5EDT和(澳大利亞)東部標準時間。
有一種方法來設置避免這個EST
標籤的時區。這暗示了,但在R ?timezone
幫助中沒有完全解釋。 x設置爲火星上的好奇心着陸時所報告的Australian news service:
x <- as.POSIXct("2012-08-06 15:32:00", tz = "Etc/GMT-10")
x
"2012-08-06 15:32:00 GMT-10"
我們可以測試,這是正確的將其轉換爲美國時區,並檢查了Californian news report:
y <- format(x, tz = "America/Los_Angeles")
y
"2012-08-05 22:32:00"
如果使用此Etc/GMT+n
或Etc/GMT-n
符號,請以下警告從?timezone
提防:
許多系統支持格式爲GMT + n和GMT-n的時區,這些時區的格式爲從UTC到固定的偏移量(因此無DST)的 。與某些用法相反(但是 與諸如PST8PDT之類的名稱一致),負偏移是UTC之前(東)的 時間,正偏移是UTC後方(西部)的時間(西) UTC的時間。
剛剛發現這個[相關問題及答案(http://stackoverflow.com/a/8011954/1265353) – sfuj 2012-08-13 02:14:31
有時間/區處理一個SO「最佳做法」,可能與概念性幫助事物的一面:: http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices。 – Thell 2012-08-13 03:30:47