++ed by:

16 PAUSE users
9 non-PAUSE users.

Author image Graham Barr


Date::Format - Date formating subroutines


        use Date::Format;
        @lt = timelocal(time);
        print time2str($template, time);
        print strftime($template, @lt);
        print time2str($template, time, $zone);
        print strftime($template, @lt, $zone);
        print ctime(time);
        print ascctime(@lt);
        print ctime(time, $zone);
        print ascctime(@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 conversion 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 localtime.

ctime(TIME [, ZONE])

ctime calls time2str with the given arguments using the conversion specification "%a %b %e %T %Y\n"

asctime(TIME [, ZONE])

asctime calls time2str with the given arguments using the conversion specification "%a %b %e %T %Y\n"

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      ctime format: Sat Nov 19 21:05:57 1994
        %d      numeric day of the month
        %e      DD
        %D      MM/DD/YY
        %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
        %m      month number, starting with 1
        %M      minute, leading 0's
        %n      NEWLINE
        %o      ornate day of month -- "1st", "2nd", "25th", etc.
        %p      AM or PM 
        %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


Graham Barr <Graham.Barr@tiuk.ti.com>


$Revision: 2.3 $


Copyright (c) 1995 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.