Mojo::Date - HTTP 1.1 日付コンテナ
使い方
use Mojo::Date; # 解析 my $date = Mojo::Date->new('Sun, 06 Nov 1994 08:49:37 GMT'); say $date->epoch; # 構築 my $date = Mojo::Date->new(time + 60); say "$date";
説明
Mojo::Dateは、 RFC 7230、 RFC 7231、 RFC 3339 に基づいた HTTPの日付と時刻の関数を実装しています。
属性
Mojo::Dateは次の属性を実装しています。
epoch
my $epoch = $date->epoch; $date = $date->epoch(784111777);
エポック秒。デフォルトは、現在の時刻です。
メソッド
Mojo::DateはMojo::Baseのすべてのメソッドを継承していて、 次の新しいメソッドを実装しています。
new
my $date = Mojo::Date->new; my $date = Mojo::Date->new('Sun Nov 6 08:49:37 1994');
新しいMojo::Dateオブジェクトを構築します。必要であれば「parse」メソッドで、解析します。
parse
$date = $date->parse('Sun Nov 6 08:49:37 1994');
パース可能なフォーマットは以下のもの含みます。
# Epoch say Mojo::Date->new('784111777')->epoch; say Mojo::Date->new('784111777.21')->epoch; # RFC 822/1123 say Mojo::Date->new('Sun, 06 Nov 1994 08:49:37 GMT')->epoch; # RFC 850/1036 say Mojo::Date->new('Sunday, 06-Nov-94 08:49:37 GMT')->epoch; # Ansi C asctime() say Mojo::Date->new('Sun Nov 6 08:49:37 1994')->epoch; # RFC 3339 say Mojo::Date->new('1994-11-06T08:49:37Z')->epoch; say Mojo::Date->new('1994-11-06T08:49:37')->epoch; say Mojo::Date->new('1994-11-06T08:49:37.21Z')->epoch; say Mojo::Date->new('1994-11-06T08:49:37+01:00')->epoch; say Mojo::Date->new('1994-11-06T08:49:37-01:00')->epoch;
to_datetime
my $str = $date->to_datetime;
RFC 3339の日付と時刻を描画する。
# "1994-11-06T08:49:37Z" Mojo::Date->new(784111777)->to_datetime; # "1994-11-06T08:49:37.21Z" Mojo::Date->new(784111777.21)->to_datetime;
to_string
my $str = $date->to_string;
HTTPメッセージのために適切に日付を描画します。
# "Sun, 06 Nov 1994 08:49:37 GMT" Mojo::Date->new(784111777)->to_string;
演算子
Mojo::Dateは次の演算子をオーバーロードしています。
ブール
my $bool = !!$date;
いつでも真。
文字列化
my $str = "$date";
to_string
のエイリアス。
参考
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(Mojolicious 8.1を反映。2019年5月14日)