MojoX::Date::Local - Mojo::Date, but in my timezone and with custom formats
use MojoX::Date::Local; my $now = MojoX::Date::Local->new; say $now->to_datetime; # => 2020-05-27T17:39:43-08:00 say $now->format; # => Wed, 27 May 2020 17:39:43 PDT say $now->format('%H:%M:%S'); # => 17:39:43
This module lets you use Mojo::Date's concise date / time functionality within the context of your own time zone. That's mainly useful when logging to the console with a custom Mojo::Log format:
use Mojo::Log; use MojoX::Date::Local; my $logger = Mojo::Log->new; $logger->format( sub ($time, $level, @lines) { my ($time, $level, @lines) = @_; my $timestamp = MojoX::Date::Local->new($time)->to_datetime; my $prefix = "[$timestamp] [$level]"; my $message = join "\n", @lines, ""; return "$prefix $message"; } );
A MojoX::Date::Local provides Mojo::Date's methods, with a couple changes.
Render local date+time in RFC 3339 format, with timezone offset. If the time has fractional seconds, those will be included in the output.
Return presumably locale-appropriate formatting of local date+time per POSIX::strftime's formatting rules. '%a, %d %b %Y %H:%M:%S %Z' is used if $fmt string is not provided. This produces a string similar to but not quite compliant with RFC 7231, which makes no allowances for localization. But it's still nice to have when displaying dates informally.
'%a, %d %b %Y %H:%M:%S %Z'
$fmt
Mojolicious, Mojo::Date, POSIX
Copyright (C) Brian Wisti.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Brian Wisti <brianwisti@pobox.com>
To install MojoX::Date::Local, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MojoX::Date::Local
CPAN shell
perl -MCPAN -e shell install MojoX::Date::Local
For more information on module installation, please visit the detailed CPAN module installation guide.