2011-08-11 162 views
0

我在特定時區中有一個日期時間對象,即'亞洲/東京'。 我正在使用$dt = DateTime->now(time_zone => 'Asia/Tokyo'); 這樣做的輸出格式爲YYYY-MM-DD'P'HH:mm:ss這個日期(P是分隔符)如何將日期時間(在特定時區)轉換爲紀元時間

請perl腳本將其轉換爲datetime,以劃時代秒幫助。

+3

是否'$ DT-> epoch'不適合你? – friedo

回答

4
DateTime->now(time_zone => 'Asia/Tokyo')->epoch 

當然,你會得到相同的結果,不管你指定,如果你使用now哪個時區,這將是一樣的time輸出。


這些都指向同一個時間(現在):

>perl -MDateTime -E"say time" 
1313046840 

>perl -MDateTime -E"say DateTime->now(time_zone => 'Asia/Tokyo')->epoch" 
1313046840 

>perl -MDateTime -E"say DateTime->now(time_zone => 'America/New_York')->epoch" 
1313046840 

這是指不同的時間:

>perl -MDateTime::Format::Strptime -E"say DateTime::Format::Strptime->new(pattern => '%F %T', time_zone => 'Asia/Tokyo')->parse_datetime('2011-08-11 13:00:00')->epoch" 
1313035200 

>perl -MDateTime::Format::Strptime -E"say DateTime::Format::Strptime->new(pattern => '%F %T', time_zone => 'America/New_York')->parse_datetime('2011-08-11 13:00:00')->epoch" 
1313082000 
+0

@Balaji,新增示例。 – ikegami

相關問題