Eugene van der Pijll


DateTime::Format::Roman - Roman day numbering for DateTime objects


  use DateTime::Format::Roman;

  my $formatter = DateTime::Format::Roman->new(
                      pattern => '%d %f %b %y' );

  my $dt = DateTime->new( year => 2003, month => 5, day => 28 );

   # '5 Kal Jun 2003'


This module formats dates in the Roman style.

The Romans expressed their dates in relation to three fixed dates per month. For example: the Ides of March was the 15th of that month; 14 March was called "2 Ides", 13 March was called "3 Ides", etcetera. The days in the second half of the month were named after the first day of the next month, the "Kalends"; e.g. 16 March was called "17 Kalends of April".


  • new( pattern => $string )

    Creates a new formatter object. The optional formatting pattern defines the format of the output of format_datetime(). If no formatting pattern is given, a reasonable default is used.

  • format_datetime($datetime)

    Retruns the formatted string. This method can be called on a formatter object (created by new()), or it can be called as a class method. In the latter case, the default pattern is used.


The following specifiers are allowed in the format strings given to the new() method:

  • %b

    The abbreviated month name.

  • %B

    The full month name.

  • %d

    The day of the month as a decimal number (including '1' for the fixed days).

  • %D

    The day of the month, written as a number plus the corresponding fixed day.

  • %f

    The 'fixed day' part of the date.

  • %m

    The month as a decimal number (range 1 to 12).

  • %y

    The year as a decimal number.

If a specifier is preceded by 'O' or 'o', numbers will be written in uppercase and lowercase Roman numerals, respectively.

The %f specifier accepts an additional argument of 1 digit, specifying the length of the output:

    %0f : abbreviated name (e.g. "Kal")
    %1f : full name (e.g. "Kalends")
    %2f : one-letter abbreviation (e.g. "K")


Support for this module is provided via the email list. See for more details.

Note that this is a beta release. The interface *will* change, especially the format specifiers, and the way the "fixed days" are returned.


Eugene van der Pijll <>


Copyright (c) 2003, 2004 Eugene van der Pijll. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


DateTime mailing list