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


in reply to Year shows as 20102 in date

#!/usr/bin/perl ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time +); $year+=1900; $date = "$month/$mday/$year";

Add the $year+=1900; line, the year is number of years since 1900.

Replies are listed 'Best First'.
Re:x2 date (use ISO date formats)
by grinder (Bishop) on Feb 14, 2002 at 16:23 UTC
    Your month value will be off by one (did you test this code?), as the value returned is designed to be used as an offset into an array of month names. Thus, if today is the 14th February 2002, your $date will contain "1/14/2002".

    Where possible, one should try to avoid regional date formatting styles, and use the ISO 8601 norm, to whit, "2002/02/14". The date 2/6/2002 can be parsed as either 2nd of June or 6th of February, depending on which part of the world you live in.

    In Perl 6, this odd behaviour will be corrected, insofar as the year value will be returned as 2002, not 102. Something to keep in mind. Off hand, I remember the month value as also being fixed (hence 2 for February).