Francisco Javier <pacho@mangle.univalle.edu.co> writes: > The localtime(time) function returns `100' as the year, that's wrong. I'm sorry to disagree, but no, it's not. It's exactly what the documentation of localtime has been saying it would return since essentially the beginning of Perl. windlord:~> perldoc -f localtime localtime EXPR Converts a time as returned by the time function to a 9-element array with the time analyzed for the local time zone. Typically used as follows: # 0 1 2 3 4 5 6 7 8 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); All array elements are numeric, and come straight out of a struct tm. In particular this means that `$mon' has the range `0..11' and `$wday' has the range `0..6' with sunday as day `0'. Also, `$year' is the number of years since 1900, that is, `$year' is `123' in year 2023, and not simply the last two digits of the year. It's somewhat non-intuitive, I realize, but not incorrect. In this behavior, Perl is following the behavior of the underlying C library and the format of a struct tm. -- Russ Allbery (rra@stanford.edu) <URL:http://www.eyrie.org/~eagle/>Thread Previous | Thread Next