NAME

Mojo::Date - Date

SYNOPSIS

use Mojo::Date;

my $date = Mojo::Date->new(784111777);
my $http_date = $date->to_string;
$date->parse('Sun, 06 Nov 1994 08:49:37 GMT');
my $epoch = $date->epoch;

DESCRIPTION

Mojo::Date implements HTTP date and time functions according to RFC2616.

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

epoch

my $epoch = $date->epoch;
$date     = $date->epoch(784111777);

Returns epoch seconds if called without arguments. Returns the invocant if called with arguments.

METHODS

Mojo::Date inherits all methods from Mojo::Base and implements the following new ones.

new

my $date = Mojo::Date->new($string);

parse

$date = $date->parse('Sun Nov  6 08:49:37 1994');

Returns the invocant if the given date could be parsed successfully. Returns false otherwise.

Parsable formats include:

- Epoch format (784111777)
- RFC 822/1123 (Sun, 06 Nov 1994 08:49:37 GMT)
- RFC 850/1036 (Sunday, 06-Nov-94 08:49:37 GMT)
- ANSI C asctime() (Sun Nov  6 08:49:37 1994)

to_string

my $string = $date->to_string;

Returns a valid HTTP date according to RFC 822.