NAME
DateTime::Format::DBI - Find a parser class for a database connection.
SYNOPSIS
use DBI;
use DateTime;
use DateTime::Format::DBI;
my $db = DBI->connect('dbi:...');
my $db_parser = DateTime::Format::DBI->new($dbh);
my $dt = DateTime->now();
$db->do("UPDATE table SET dt=? WHERE foo='bar'",undef,
$db_parser->format_datetime($dt);
DESCRIPTION
This module finds a DateTime::Format::*
class that is suitable for the use with a given DBI connection (and DBD::*
driver).
It currently supports the following drivers: MySQL, PostgreSQL (Pg).
CLASS METHODS
new( $dbh )
Creates a new
DateTime::Format::*
instance the exact class of which depends on the driver used for the database connection referenced by $dbh.
PARSER/FORMATTER INTERFACE
DateTime::Format::DBI
is just a front-end factory that will return one of the format classes based on the nature of your $dbh.
For information on the interface of the returned parser object, please see the documentation for the class pertaining to your particular $dbh.
In general, parser classes for databases will implement the following methods. For more information on the exact behaviour of these methods, see the documentation of the parser class.
parse_datetime( $string )
Given a string containing a date and/or time representation from the database used, this method will return a new
DateTime
object.If given an improperly formatted string, this method may die.
format_datetime( $dt )
Given a
DateTime
object, this method returns a string appropriate as input for all or the most common date and date/time types of the database used.parse_duration( $string )
Given a string containing a duration representation from the database used, this method will return a new
DateTime::Duration
object.If given an improperly formatted string, this method may die.
Not all databases and format/formatter classes support durations; please use UNIVERSAL::has to check for the availability of this method.
format_duration( $du )
Given a
DateTime::Duration
object, this method returns a string appropriate as input for the duration or interval type of the database used.Not all databases and parser/formatter classes support durations; please use UNIVERSAL::has to check for the availability of this method.
Parser/formatter classes may additionally define methods like parse_type or format_type (where type is derived from the SQL type); please see the documentation of the individual format class for more information.
SUPPORT
Support for this module is provided via the datetime@perl.org email list. See http://lists.perl.org/ for more details.
AUTHOR
Claus A. Färber <perl@faerber.muc.de>
COPYRIGHT
Copyright © 2003 Claus A. Färber. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
datetime@perl.org mailing list
http://datetime.perl.org/
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 138:
Non-ASCII character seen before =encoding in 'Färber'. Assuming CP1252