Quantcast
Channel: UNIX and Linux Forums
Viewing all articles
Browse latest Browse all 16232

GMT to MST timestamp conversion

$
0
0
Hi Team,

We have written a perl script to perform the GMT to MST timestamp conversion.

Input: 2013-12-01T05:23:19.374
Output: need the given timestamp in MT (MST/MDT)

Code:

#!/usr/bin/perl
use strict;
use warnings;
use Time::Local;

#always gmt
#my $tval = '2013-12-01T05:23:19.374';

my ($year,$month,$day,$hour,$min,$sec,$mil) = $ARGV[0] =~ m/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2}).(\d{3})$/;
print "$year-$month-$day $hour:$min:$sec\n";
my $seconds = timelocal($sec, $min, $hour, $day, $month-1, $year);
($sec, $min, $hour,$day,$month, $year) = localtime($seconds-25200);

printf "%04d-%02d-%02d %02d:%02d:%02d", $year+1900, $month+1, $day, $hour, $min, $sec;

GMT is 7 hrs ahead of MST and 8 hrs ahead of MDT. Since we have hard coded 25200 the given timestamp is always converted to MST. Can someone help us to make it dynamic.. like.. during day light savings, the 8 hrs has to be deducted else 7 hrs.

Thanks
Krishnakanth

Viewing all articles
Browse latest Browse all 16232

Trending Articles