#!/usr/bin/perl
use strict;
use warnings;
use Time::Local;
use POSIX 'strftime';
my $req_time = '2006-05-17 12:00:00';
print $req_time, "\n";
my ($date,$time) = split(/ /, $req_time);
my ($year,$month,$day) = split(/-/, $date);
my ($hour,$min,$sec) = split(/:/, $time);
my $req_date = timelocal($sec, $min, $hour, $day, --$month, $year);
my $rtime = $req_date + 1*60*60;
my $date1 = strftime '%Y-%m-%d %H:%M:%S', localtime $rtime;
print $date1, "\n";
The output I get is:
2006-05-17 12:00:00
2006-05-17 13:00:00
Are you sure that the date is correct as you are pulling it out of the database?
Also, if you're converting between a local timezone and GMT then the easiest way is by using timelocal and gmtime (or timegm and localtime if you're going the other way).
--
< http://dave.org.uk>
"The first rule of Perl club is you do not talk about
Perl club." -- Chip Salzenberg
|