PerlからJavaScriptに日付を渡すのにMojo::Dateを使う
スポンサードリンク
Perl 5.8・Mojolicious 1.97/Perl 5.10・Mojolicious 2.19のクロス環境で開発しているのですが、Mojoliciousに日付を扱うモジュールMojo::Dateがあるので、ブラウザのJavaScriptで取り扱わせる日付をPerl側で用意するときに使えるよ、というお話。
use strict;
use warnings;
use YAML;
 
use Date::Parse;
use DateTime;
use DateTime::Format::Mail;
use Mojo::Date;
 
my $date_twitter = 'Tue Jan 05 13:16:29 +0000 2010'; # ctimeの形式
 
my $date;
 
$date->{DateTime} =
  DateTime::Format::Mail->format_datetime(
    DateTime->from_epoch(
      epoch => str2time( $date_twitter )
    )
  );
 
$date->{'Mojo::Date'} =
  Mojo::Date->new( str2time( $date_twitter ) )
            ->to_string;
 
print Dump $date;
exit;
 
__END__
$ perl test.pl --- DateTime: 'Tue, 05 Jan 2010 13:16:29 -0000' Mojo::Date: 'Tue, 05 Jan 2010 13:16:29 GMT'
出てきた書式は違いますが、どっちでもJavaScript側では同じ時刻としてちゃんと処理されます(Internet ExplorerでもOK)。
DateTimeモジュールというとてもでかいモジュールを使わなくてもいいのは利点かなあと思います。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3765





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする