http://qs1969.pair.com?node_id=434177

The Posix-module has a very nice function called strftime() that is capable of formatting dates and times to a human readable format.

But ... the manpage is not very descriptive. It tells you nothing about the meanings of the parameters in the format string.

Unix/Linux users can read about them by typing
$ date --help
(thanks blokhead for advising me on that), but Windows users are lost.

Therefore, in the hope it will help somebody*, i post this little script, that can serve both as a reference and as an example.
use strict; use POSIX qw(strftime); print strftime qq{ a: Day of Week (short, text) %a A: Day of Week (long, text) %A b: Monthname (short, text) %b B: Monthname (long, text) %B c: Full datetime (number, long) %c d: Day (number) %d H: Hour (24 hour) (number) %H I: Hour (12 hour) (number) %I j: Day of year (number) %j m: Month (number) %m M: Minutes (number) %M p: am/pm/empty (text) %p S: Seconds (number) %S U: Week of Year (number) %U w: Day of week (number) %w W: Week of Year (number) %W x: date (number) %x X: time (number) %X y: year (short, number) %y Y: year (long, number) %Y Z: timezone (text) %Z }, localtime;

Notes:
The parameters %U and %W, are not identical. %U starts counting the Week Of Year at sundays, %W starts counting on mondays.
The %p parameter can be empty, depending on the locale of the system.

*and for my own convenience

Update: corrected typo for %M
Update: corrected typo for %I (thanks bmann)
Update: retitled node from "strftime reference" to "strftime reference for win32"


holli, /regexed monk/