POSIX::strptime(3) Perl extension to the POSIX date parsing strptime(3) function


($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = POSIX::strptime("string", "Format");


Perl interface to strptime(3)


 ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday) = POSIX::strptime(string, format);

The result for any value not extracted is not defined. Some platforms may reliably return "undef", but this is dependent on the strptime(3) function in the underlying C library.

For example, only the following fields may be relied upon:

 my ($min, $hour) = ( POSIX::strptime( "01:23", '%H:%M' ) )[1,2];
 my ($mday, $mon, $year) = ( POSIX::strptime( "2010/07/16", '%Y/%m/%d' ) )[3,4,5];

Furthermore, not all platforms will set the $wday and $yday elements. If these values are required, use "mktime" and "gmtime":

 use POSIX qw( mktime );
 use POSIX::strptime qw( strptime );
 my ($mday, $mon, $year) = ( POSIX::strptime( "2010/07/16", '%Y/%m/%d' ) )[3,4,5];
 my $wday = ( gmtime mktime 0, 0, 0, $mday, $mon, $year )[6];


Philippe M. Chiasson <[email protected]> Kim Scheibel <[email protected]>


Copyright 2005 by Philippe M. Chiasson <[email protected]>.

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

See http://www.perl.com/perl/misc/Artistic.html