Mojo::Date(3)

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 2616 <http://tools.ietf.org/html/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
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".

SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.