Как узнать время ожидания запросов Amazon? - PullRequest
0 голосов
/ 02 февраля 2011

В моих запросах к amazon ses сообщается, что время истекло.Некоторые люди говорили мне использовать формат даты UTC в запросах на amazon и использовать синхронизированное время.

код написан на 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

1 Ответ

3 голосов
/ 02 февраля 2011

Всякий раз, когда я вижу +1900 в коде, я съеживаюсь, потому что, как правило, нет необходимости делать такие низкоуровневые вычисления даты и времени вручную. Вместо этого используйте библиотеки, такие как DateTime , чтобы выполнить все вычисления и форматирование за вас:

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


PS. Если у вас возникли проблемы с синхронизацией вашего сервера с Amazon, ваши часы, вероятно, сместились. Вы должны установить службу типа ntpd, чтобы синхронизировать ваши часы - см. serverfault.com , если у вас возникли трудности.

...