in reply to Re: How can I convert epoch seconds to date format
in thread How can I convert epoch seconds to date format

One more question on the time.... Is there a way I can get the timezone from localtime? Thanks
  • Comment on Re^2: How can I convert epoch seconds to date format

Replies are listed 'Best First'.
Re^3: How can I convert epoch seconds to date format
by Anonymous Monk on May 10, 2006 at 17:41 UTC
    never mind... I got it....
      I am using the following code to do the timezone conversion. when i run on cmd line I get the expected results. But when I am pushing it to database I get the dates after 6 days stored.
      i/p 31: req time is 2006-05-17 12:00:00 o/p should be: 431: date 1 is 2006-05-17 13:00:00 but the final value I get is 2006-05-23 14:00:00
      This is the code I am using:
      $req_time = got value from db; ($date,$time) = split(/ /, $req_time); ($year,$month,$day) = split(/-/, $date); ($hour,$min,$sec) = split(/:/, $time); $req_date = timelocal($sec, $min, $hour, $day, --$month, $year); $rtime = $req_date + 1*60*60; my $date1 = strftime '%Y-%m-%d %H:%M:%S', localtime $rtime;
      Please let me know if anything is wrong with this....

        I'm not entirely sure what you're trying to achieve here, but your code seems to work as expected.

        #!/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