0

特定のタイムゾーン、つまり「アジア/東京」に日時オブジェクトがあります。この日時を使用して取得して$dt = DateTime->now(time_zone => 'Asia/Tokyo'); いますこれの出力は次の形式ですYYYY-MM-DD'P'HH:mm:ssP区切り文字です)

これを日時からエポック秒に変換するためのperlスクリプトを手伝ってください。

4

1 に答える 1

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
于 2011-08-11T07:03:07.240 に答える