[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fwd: Possible Bug in DateTime



On Sun, 09 Oct 2011 11:14:10 -0400, Jonathan Yu wrote:

> Got this a month ago but had no time to take care of it myself. Can
> one of you look at it? :-)

> ---------- Forwarded message ----------
> From: Ulf Kreutzberg <ulf.kreutzberg@hosteurope.de>
> Date: Mon, Sep 5, 2011 at 6:26 PM
> Subject: Possible Bug in DateTime
> To: jawnsy@cpan.org
> 
> 
> Hello Jonathan,

Hi Ulf,

please file bug reports in the Debian BTS so the issues don't get
lost in the future.
 
> # ==============
> #!/usr/bin/perl
> # script name: testdate.pl
> use DateTime;
> my $date = DateTime->now;
> printf "Date: %s-%s\n",$date->year, $date->month;
> # ==============
> 
> ..going to Bash:
> #> date
> Di 6. Sep 00:09:18 CEST 2011
> The script delivers correctly:
> Date: 2011-9
> 
> #> date
> Do 1. Sep 00:09:15 CEST 2011
> The script delivers wrongly:
> Date: 2011-8

Well, that's 2011-08-31 22:09:15 UTC, so this smells like a timezone
question.
 

Trivial check:

#v+
$ cat datetime.pl 
#!/usr/bin/perl 

use DateTime;

my $date = DateTime->now;

printf "%s %s\n", $date->ymd, $date->hms;
#v-

$ date
Sun Oct  9 17:25:04 CEST 2011

$ perl datetime.pl 
2011-10-09 15:25:08


Cf. also the documentation:

       ·   DateTime->now( ... )
       
           By default, the returned object will be in the UTC time zone.


If you want DateTime to return dates/times in your local timezone,
you have to tell it about it:

#v+
$ cat datetime.pl 
#!/usr/bin/perl 

use DateTime;

my $date = DateTime->now(time_zone => 'Europe/Vienna');

printf "%s %s\n", $date->ymd, $date->hms;
#v-

$ date
Sun Oct  9 17:30:11 CEST 2011

$ perl datetime.pl 
2011-10-09 17:30:14

Et voilà :)


Cheers,
gregor, mentally closing the non-existing bug
                  
-- 
 .''`.   Homepage: http://info.comodo.priv.at/ - OpenPGP key ID: 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
   `-    NP: Sting: Russians

Attachment: signature.asc
Description: Digital signature


Reply to: