use strict; use warnings; # to avoid purgatory use HTTP::Date qw(str2time); my $timestamp_local="20110905 142631"; my $seconds_since_epoch=str2time($timestamp_local, 'UTC'); print "$seconds_since_epoch\n".gmtime($seconds_since_epoch)."\n"; #### 1315232791 Mon Sep 5 14:26:31 2011 #### my $seconds_since_epoch=str2time($timestamp_local, '+0200'); #### use strict; use warnings; # to avoid purgatory use HTTP::Date qw(str2time); use Time::Local qw(timelocal timegm); my $difference_to_utc_in_minutes=(timegm(localtime)-timelocal(localtime))/60; my $diff_hours=abs($difference_to_utp_in_minutes)/60; my $diff_mins=abs($difference_to_utp_in_minutes)%60; my $difference_to_utc= ($difference_to_utc_in_minutes >= 0 ? '+' : '-'). sprintf("%02d",$diff_hours). sprintf("%02d",$diff_mins) ; my $timestamp_local="20110905 142631"; my $seconds_since_epoch=str2time($timestamp_local, $difference_to_utc); print "$seconds_since_epoch\n".gmtime($seconds_since_epoch)."\n"; #### 1315225591 Mon Sep 5 12:26:31 2011