Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何检索amazon ses请求的utc时间?_Perl_Amazon_Utc - Fatal编程技术网

Perl 如何检索amazon ses请求的utc时间?

Perl 如何检索amazon ses请求的utc时间?,perl,amazon,utc,Perl,Amazon,Utc,我对amazon ses的请求报告GMT过期。有些人告诉我在向amazon发出的请求中使用UTC日期格式,并使用sincronized time 代码是用perl编写的,行是: $params{'Timestamp'} = sprintf("%04d-%02d-%02dT%02d:%02d:%02d.000Z",sub {($_[5]+1900,$_[4]+1,$_[3],$_[2],$_[1],$_[0])}->(gmtime(time))); 问题是。。。我想要utc格式的,但我不知

我对amazon ses的请求报告GMT过期。有些人告诉我在向amazon发出的请求中使用UTC日期格式,并使用sincronized time

代码是用perl编写的,行是:

$params{'Timestamp'} = sprintf("%04d-%02d-%02dT%02d:%02d:%02d.000Z",sub {($_[5]+1900,$_[4]+1,$_[3],$_[2],$_[1],$_[0])}->(gmtime(time)));

问题是。。。我想要utc格式的,但我不知道perl language=s何时在代码中看到
+1900
,因为通常不需要手动进行这种低级的日期时间计算。相反,使用库可以为您完成所有计算和格式设置:

use DateTime;
use Time::HiRes 'time';

my $dt = DateTime->from_epoch(epoch => time, time_zone => 'UTC');
my $timestamp_string = $dt->strftime('%FT%T.%3NZ');
生产:
2011-02-02T18:37:03.145Z



另外,如果您在将服务器与Amazon同步时遇到困难,那么您的时钟可能已经漂移。您应该安装一个类似ntpd的服务来保持时钟同步-看看您是否有困难。

GMT和UTC最多相差0.9秒。出于所有意图和目的,你可以认为它们是一样的。“GMT过期”、“UTC日期格式”和“同步时间”是什么意思[root@localhostamazon]#./ses-get-stats.pl-k aws凭证-q请求时间戳:Wed,02 Feb 2011 16:39:48 GMT过期。它必须在服务器时间的300秒内。信息确实不足。$params{'Timestamp'}需要什么格式?如果有的话,你用什么模块来对付亚马逊?如果你“一点都不知道”为什么要用Perl编码?这并没有解决问题。请求仍然是这样结束的->请求时间戳:Thu,03 Feb 2011 02:04:57 GMT过期。它必须在服务器时间的300秒内。@Fabio:这还不足以帮助您--请求时间戳是实际的当前时间吗?您是否已同步服务器时钟?