Adds mysql-specific methods to time::piece
use Time::Piece::MySQL; my $time = localtime; print $time->mysql_datetime; print $time->mysql_date; print $time->mysql_time; my $time = Time::Piece->from_mysql_datetime( $mysql_datetime ); my $time = Time::Piece->from_mysql_date( $mysql_date ); my $time = Time::Piece->from_mysql_timestamp( $mysql_timestamp );
Using this module instead of, or in addition to, \*(C`Time::Piece\*(C' adds a few MySQL-specific date-time methods to \*(C`Time::Piece\*(C' objects.
Returns the date and/or time in a format suitable for use by MySQL.
Given a date, datetime, or timestamp value as returned from MySQL, these constructors return a new Time::Piece object. If the value is \s-1NULL\s0, they will retrun undef.
\*(C`Time::Piece\*(C' itself only works with times in the Unix epoch, this module has the same limitation. However, MySQL itself handles date and datetime columns from '1000-01-01' to '9999-12-31'. Feeding in times outside of the Unix epoch to any of the constructors has unpredictable results.
Also, MySQL doesn't validate dates (because your application should); it only checks that dates are in the right format. So, your database might include dates like 2004-00-00 or 2001-02-31. Passing invalid dates to any of the constructors is a bad idea: on my system the former type (with zeros) returns undef (previous version used to die) while the latter returns a date in the following month.
Original author: Dave Rolsky <[email protected]>
Current maintainer: Marty Pauley <[email protected]>
(c) 2002 Dave Rolsky
(c) 2004 Marty Pauley
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Time::Piece