Raku Land

Intl::Format::DateTime

github:alabamenhu

IntlFormatDateTime

Hoy es siempre todavía, toda la vida es ahora. Y ahora, ahora es el momento de cumplir las promesas que nos hicimos. Porque ayer no lo hicimos, porque mañana es tarde. Ahora.
Proverbios y cantares (Antonio Machado)

A module for formatting dates and times in a variety of languages and styles. To use, simple include the module:

use Intl::Format::DateTime
    
my $dt = DateTime.new: now;

format-date $dt;      # Format the date only
format-time $dt;      # Format the time only
format-datetime $dt;  # Format the date and time together

The command options are

If you use a format length which includes a non–offset-based timezone (generally all wide formats), you must include use DateTime::Timezones somewhere in your main script until a precompilation bug dealing with multidispatch can be fixed in Rakudo.

To do

The non-Latin digits, though in theory simple enough to implement, will require rewriting almost every reference to numbers in each of the 100+ formatters. All formatters are currently planned to be rewritten once RakuAST is committed to core, so rather than rewrite things twice, the digits will wait until then. Case handling will probably be implemented at that time as well.

Dependencies

These modules are designed to work together, and as of 2021, are maintained by the same person so should not have issues if fully updated.

Version history

© 2021 Matthew Stephen Stuckwisch. All files licensed under the Artistic License 2.0 except for resources/metaZones.xml which is owned by Unicode, Inc. and licensed under the Unicode License Agreement (found at resources/unicode-license.txt)