Hello, please consider adding DefaultFormatter in next release of DateTime package as it very useful when using DBIx::Class with InflateColumn::Datetime.
Without DefaultFormatter I have to set formatter for every datetime column on every DBIC object With DefaultFormatter I can simply do: package MyDateTimeFormatter; sub format_datetime { return $_[1]->ymd . ' ' . $_[1]->hms ; } use MyDateTimeFormatter; use DateTime; DateTime->DefaultFormatter('MyDateTimeFormatter'); print $DBICResultSet->find(1)->datetimecolumn; and get '2010-11-11 11:11:11' instead of '2010-11-11T11:11:11' It's no easy way to subclass DateTime and pass a new class name to DBIx Helper classes as they have hardcoded DateTime classname. InflateColumn::DateTime usues formatters for inflating/deflating columns only for storage engines, and when using dynamic class loader it's real pain to format datetime columns for printing to user -- regards piotr pogorzelski
*** /usr/lib/perl5/DateTime.pm 2010-07-30 23:31:27.000000000 +0200 --- lib/DateTime.pm 2010-11-24 11:40:02.000000000 +0100 *************** *** 109,114 **** --- 109,126 ---- } __PACKAGE__->DefaultLocale('en_US'); + my $DefaultFormatter; + + sub DefaultFormatter { + my $class = shift; + + if (@_) { + $DefaultFormatter = shift; + } + return $DefaultFormatter; + } + + my $BasicValidate = { year => { type => SCALAR, *************** *** 816,823 **** sub _stringify { my $self = shift; ! return $self->iso8601 unless $self->{formatter}; ! return $self->{formatter}->format_datetime($self); } sub hms { --- 828,836 ---- sub _stringify { my $self = shift; ! return $self->{formatter}->format_datetime($self) if $self->{formatter}; ! return $DefaultFormatter->format_datetime($self) if $DefaultFormatter; ! return $self->iso8601 ; } sub hms {