phillip@athens:~/script/Date-Handler-1.2$ cat locale.patch --- Handler.pm.original 2010-11-12 16:49:31.817657134 +0800 +++ Handler.pm 2010-11-12 16:42:35.153656643 +0800 @@ -541,7 +541,7 @@ my $epoch = $self->{epoch}; - my $newdate = ref($self)->new({ date => $epoch, time_zone => $self->TimeZone() }); + my $newdate = ref($self)->new({ date => $epoch, time_zone => $self->TimeZone(), locale => $self->Locale() }); my $self_array = $newdate->AsArray(); #Take care of the months. @@ -554,7 +554,7 @@ $self_array->[0] += $years; my $posix_date = ref($self)->new({ date => $self_array, - time_zone => $self->TimeZone(), + time_zone => $self->TimeZone(), locale => $self->Locale() }); if($self->INTUITIVE_MONTH_CALCULATIONS()) #### #!/usr/bin/perl #name: date.pl use strict; use warnings; use Date::Handler; use Date::Handler::Delta; my $delta = new Date::Handler::Delta([3,0,0,0,0,0]); my $date = new Date::Handler({ date=>time, time_zone=>'Asia/Shanghai', locale=>'zh_CN.utf8', }); my $newdate = $date + $delta; print "date=$date\n"; print "delta=$delta\n"; print "newdate=$newdate\n";