NAME
Mojo::Date - HTTP date
SYNOPSIS
use Mojo::Date;
# Parse
my $date = Mojo::Date->new('Sun, 06 Nov 1994 08:49:37 GMT');
say $date->epoch;
# Build
my $date = Mojo::Date->new(time);
say "$date";
DESCRIPTION
Mojo::Date implements HTTP date and time functions based on RFC 7230 and RFC 7231.
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
ATTRIBUTES
Mojo::Date implements the following attributes.
epoch
my $epoch = $date->epoch;
$date = $date->epoch(784111777);
Epoch seconds.
METHODS
Mojo::Date inherits all methods from Mojo::Base and implements the following new ones.
new
my $date = Mojo::Date->new;
my $date = Mojo::Date->new('Sun Nov 6 08:49:37 1994');
Construct a new Mojo::Date object and "parse" date if necessary.
parse
$date = $date->parse('Sun Nov 6 08:49:37 1994');
Parse date.
# Epoch
say Mojo::Date->new('784111777')->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;
to_string
my $str = $date->to_string;
Render date suitable for HTTP messages.
OPERATORS
Mojo::Date overloads the following operators.
bool
my $bool = !!$date;
Always true.
stringify
my $str = "$date";
Alias for "to_string".