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 as described in RFC 2616.

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;
my $str = "$date";

Render date suitable for HTTP messages.

SEE ALSO

Mojolicious, Mojolicious::Guides, http://mojolicio.us.