manpagez: man pages & more
man Date::Format(3)
Home | html | info | man
Date::Format(3)       User Contributed Perl Documentation      Date::Format(3)



NAME

       Date::Format - Date formatting subroutines


VERSION

       version 2.35


SYNOPSIS

               use Date::Format;

               my @lt = localtime(time);

               my $template = "....";

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

               my $zone;
               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 "strftime" and "ctime".

       time2str(TEMPLATE, TIME [, ZONE [, LANGUAGE]])
           "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.  "LANGUAGE" if given specifies the
           language for day and month names (e.g. 'German', 'French');
           defaults to 'English'.

       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"


NAME

       Date::Format - Date formatting subroutines


MULTI-LANGUAGE SUPPORT

       Date::Format is capable of formatting into several languages. You can
       pass an optional language name directly to "time2str":

               time2str("%a %b %e %T %Y\n", time, undef, 'German');
               time2str("%a %b %e %T %Y\n", time, 'GMT',  'French');

       Alternatively, create a language-specific object and call methods on
       it, see Date::Language:

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


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      like %d, but a leading zero is replaced by a space (eg  1..32)
               %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

       %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.


LIMITATION

       The functions in this module are limited to the time range that can be
       represented by the time_t data type, i.e. 1901-12-13 20:45:53 GMT to
       2038-01-19 03:14:07 GMT.


AUTHOR

       Graham Barr <gbarr@pobox.com>


COPYRIGHT

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


AUTHOR

       Graham <gbarr@pobox.com>


COPYRIGHT AND LICENSE

       This software is copyright (c) 2020 by Graham Barr.

       This is free software; you can redistribute it and/or modify it under
       the same terms as the Perl 5 programming language system itself.

perl v5.34.3                      2026-03-26                   Date::Format(3)

timedate 2.350.0 - Generated Fri Apr 3 08:36:20 CDT 2026
© manpagez.com 2000-2026
Individual documents may contain additional copyright information.