man Date::Format () - Date formating subroutines

NAME

Date::Format - Date formating subroutines

SYNOPSIS

        use Date::Format;

        @lt = localtime(time);

        print time2str($template, time);
        print strftime($template, @lt);

        print time2str($template, time, $zone);
        print strftime($template, @lt, $zone);

        print ctime(time);
        print asctime(@lt);

        print ctime(time, $zone);
        print asctime(@lt, $zone);

DESCRIPTION

This module provides routines to format dates into ASCII strings. They correspond to the C library routines CWstrftime and CWctime.

time2str(TEMPLATE, TIME [, ZONE])
CWtime2str converts CWTIME into an ASCII string using the conversion specification given in CWTEMPLATE. CWZONE if given specifies the zone which the output is required to be in, CWZONE defaults to your current zone.
strftime(TEMPLATE, TIME [, ZONE])
CWstrftime is similar to CWtime2str with the exception that the time is passed as an array, such as the array returned by CWlocaltime.
ctime(TIME [, ZONE])
CWctime calls CWtime2str with the given arguments using the conversion specification CW"%a %b %e %T %Y\n"
asctime(TIME [, ZONE])
CWasctime calls CWtime2str with the given arguments using the conversion specification CW"%a %b %e %T %Y\n"

MULTI-LANGUAGE SUPPORT

Date::Format is capable of formating into several languages, these are English, French, German and Italian. Changing the language is done via a static method call, for example

        Date::Format->language('German');

will change the language in which all subsequent dates are formatted.

This is only a first pass, I am considering changing this to be

        $lang = Date::Language->new('German');
        $lang->time2str("%a %b %e %T %Y\n", time);

I am open to suggestions on this.

CONVERSION SPECIFICATION

Each conversion specification is replaced by appropriate characters as described in the following list. The appropriate characters are determined by the LC_TIME category of the program's locale.

        %%      PERCENT
        %a      day of the week abbr
        %A      day of the week
        %b      month abbr
        %B      month
        %c      MM/DD/YY HH:MM:SS
        %C      ctime format: Sat Nov 19 21:05:57 1994
        %d      numeric day of the month, with leading zeros (eg 01..31)
        %e      numeric day of the month, without leading zeros (eg 1..31)
        %D      MM/DD/YY
        %G      GPS week number (weeks since January 6, 1980)
        %h      month abbr
        %H      hour, 24 hour clock, leading 0's)
        %I      hour, 12 hour clock, leading 0's)
        %j      day of the year
        %k      hour
        %l      hour, 12 hour clock
        %L      month number, starting with 1
        %m      month number, starting with 01
        %M      minute, leading 0's
        %n      NEWLINE
        %o      ornate day of month -- "1st", "2nd", "25th", etc.
        %p      AM or PM 
        %P      am or pm (Yes %p and %P are backwards :)
        %q      Quarter number, starting with 1
        %r      time format: 09:05:57 PM
        %R      time format: 21:05
        %s      seconds since the Epoch, UCT
        %S      seconds, leading 0's
        %t      TAB
        %T      time format: 21:05:57
        %U      week number, Sunday as first day of week
        %w      day of the week, numerically, Sunday == 0
        %W      week number, Monday as first day of week
        %x      date format: 11/19/94
        %X      time format: 21:05:57
        %y      year (2 digits)
        %Y      year (4 digits)
        %Z      timezone in ascii. eg: PST
        %z      timezone in format -/+0000

CW%d, CW%e, CW%H, CW%I, CW%j, CW%k, CW%l, CW%m, CW%M, CW%q, CW%y and CW%Y can be output in Roman numerals by prefixing the letter with CWO, e.g. CW%OY will output the year as roman numerals.

LIMITATION

The functions in this module are limited to the time range that can be represented by the time_t data type, i.e. 1970-01-01 00:00:00 GMT to 2038-01-19 03:14:07 GMT, as it uses the standard C library functions internally.

AUTHOR

Graham Barr <gbarr@pobox.com>

COPYRIGHT

Copyright (c) 1995-1999 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.