The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MojoX::Date::Local - Mojo::Date, but in my timezone

SYNOPSIS

  use MojoX::Date::Local;

  say MojoX::Date::Local->new;             # => Wed, 27 May 2020 17:39:43 PDT
  say MojoX::Date::Local->new->to_datetime # => 2020-05-27T17:39:43-07:00

DESCRIPTION

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";
    }
  );

METHODS

A MojoX::Date::Local provides the same methods as Mojo::Date, overriding two for its own purposes.

to_datetime

Render local date+time in RFC 3339 format, with timezone offset.

to_string

Render local date+time in RFC7231 format.

SEE ALSO

Mojolicious, Mojo::Date, POSIX

LICENSE

Copyright (C) Brian Wisti.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Brian Wisti <brianwisti@pobox.com>