Raku Land




Build Status


Provides strftime(), strptime() (coming soon), and a few predetermined formats for use with both.

It also comes with some localizations for month and day names.

Convenience subroutines

These are exported by use DateTime::Format

strftime (Str $format, DateTime $dt, :$lang)

Format the DateTime object using the format as specified in the string.

If you don't specify the language, it uses the currently set default.

strptime (Str $timestamp, Str $format, :$lang)

Parse the string using the format as specified in the second string.

If you don't specify the language, it uses the currently set default.

set-datetime-format-lang (Str $code)

Set the default language to use. This can be 'en' (the default language), or any language you have added using one of the Localization libraries.



Parse or Stringify a DateTime in the RFC 2822 format.

  my $ts = 'Tue, 30 Apr 2013 13:02:10 -0700';
  my $rfc = DateTime::Format::RFC2822.new();
  my $dt  = $rfc.parse($ts);
  my $dt2 = $dt.utc();
  say ~$dt2;                   ## Tue, 30 Apr 2013 20:02:10 +0000


The default localization is English, using the code 'en'. There is no loadable module for English, since it's strings are included by default in the DateTime::Format module.

The following are additional libraries that can add localizations to the DateTime::Format library. The languages will then be immediately usable.

  use DateTime::Format::Lang::FR;

  ## You can also specify the :lang<fr> parameter to the
  ## strftime(), strptime() subroutines, or the parse() and format()
  ## methods within a DateTime::Format::* subclass such as RFC2822.
  ## This overrides the language for a single call, rather than setting
  ## a default value.



Anyone I'm missing that may have contributed, feel free to contact supernovus, and I'll add you to the credits.


Artistic License 2.0