我的日期格式为:05/26/2013 06:08:00
上述日期的时区为 GMT -7
如何将上述内容更改为 GMT 日期和时间以及格式:2013 年 5 月 26 日 13:08:00 GMT
注意:我无法安装任何 perl 模块。我知道我可以通过 DateTime 轻松做到这一点,但我无法安装它。
谢谢。
我的日期格式为:05/26/2013 06:08:00
上述日期的时区为 GMT -7
如何将上述内容更改为 GMT 日期和时间以及格式:2013 年 5 月 26 日 13:08:00 GMT
注意:我无法安装任何 perl 模块。我知道我可以通过 DateTime 轻松做到这一点,但我无法安装它。
谢谢。
您可以使用Time::Piece,它应该包含在您的 Perl 安装中。
use Time::Piece;
my $datetime = '05/26/2013 06:08:00';
$datetime .= '-0700'; # attach the timezone offset
my $dt = Time::Piece->strptime($datetime, '%m/%d/%Y %H:%M:%S %z');
print $dt->strftime('%d %b %Y %H:%M:%S');
假设您的当地时间已经设置为 GMT-7,只需:
use POSIX 'mktime', 'strftime';
my $datetime = '05/26/2013 06:08:00';
my ($month,$day,$year,$hour,$min,$sec) = $datetime =~ m{^([0-9]+)/([0-9]+)/([0-9]+) ([0-9]+):([0-9]+):([0-9]+)\z}
or die "invalid datetime $datetime\n";
my $formatted_time = strftime '%e %B %Y %T %Z', gmtime mktime $sec,$min,$hour,$day,$month-1,$year-1900,0,0,0;
您可能想要%d
代替%e
和/或%b
代替%B
; 请参阅http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html并验证您的系统是否支持所需的格式说明符。