Date::Format(3pm) User Contributed Perl Documentation Date::Format(3pm)
Date::Format - Date formating subroutines
@lt = localtime(time);
print time2str($template, time);
print strftime($template, @lt);
print time2str($template, time, $zone);
print strftime($template, @lt, $zone);
print ctime(time, $zone);
print asctime(@lt, $zone);
This module provides routines to format dates into ASCII strings. They
correspond to the C library routines "strftime" and "ctime".
time2str(TEMPLATE, TIME [, ZONE])
"time2str" converts "TIME" into an ASCII string using the conver-
sion specification given in "TEMPLATE". "ZONE" if given specifies
the zone which the output is required to be in, "ZONE" defaults to
your current zone.
strftime(TEMPLATE, TIME [, ZONE])
"strftime" is similar to "time2str" with the exception that the
time is passed as an array, such as the array returned by "local-
ctime(TIME [, ZONE])
"ctime" calls "time2str" with the given arguments using the conver-
sion specification "%a %b %e %T %Y\n"
asctime(TIME [, ZONE])
"asctime" calls "time2str" with the given arguments using the con-
version specification "%a %b %e %T %Y\n"
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
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.
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.
%a day of the week abbr
%A day of the week
%b month abbr
%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)
%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
%l hour, 12 hour clock
%L month number, starting with 1
%m month number, starting with 01
%M minute, leading 0's
%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 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
%d, %e, %H, %I, %j, %k, %l, %m, %M, %q, %y and %Y can be output in
Roman numerals by prefixing the letter with "O", e.g. %OY will output
the year as roman numerals.
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
Graham Barr <gbarrATpobox.com>
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.
perl v5.8.8 2007-08-24 Date::Format(3pm)