Mojo::Date - HTTP date

NAME  SYNOPSIS  DESCRIPTION  ATTRIBUTES  epoch  METHODS  new  parse  to_datetime  to_string  OPERATORS  bool  stringify  SEE ALSO 

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 + 60);
say "$date";

DESCRIPTION

Mojo::Date implements HTTP date and time functions, based on RFC 7230 <https://tools.ietf.org/html/rfc7230>, RFC 7231 <https://tools.ietf.org/html/rfc7231> and RFC 3339 <https://tools.ietf.org/html/rfc3339>.

ATTRIBUTES

Mojo::Date implements the following attributes.

epoch

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

Epoch seconds, defaults to the current time.

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;
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;

Render RFC 3339 <https://tools.ietf.org/html/rfc3339> date and time.

# "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;

Render date suitable for HTTP messages.

# "Sun, 06 Nov 1994 08:49:37 GMT"
Mojo::Date−>new(784111777)−>to_string;

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, <https://mojolicious.org>.


Updated 2024-01-29 - jenkler.se | uex.se