Я пытаюсь получить дату 30 дней назад и убедиться, что она находится в формате iso8601 для использования в Amazon MWS, это то, что я пробовал, до определенной степени работает и выглядит так, как будто думал, что он в правильном формате, но Amazon по-прежнему говорит, что это не правильно!
$tester = date("c");
$tester = date('Y-m-d H:i:s', strtotime($tester . ' -30 days'));
$datetime = urlencode($tester);
echo $datetime;
Вам необходимо указать "c"
:
$tester = date('c', strtotime('-30 days'));
// if current date is: 2018-05-02T13:53:24+05:00
// the result would be: 2018-04-02T13:53:24+05:00
Сказав это, предлагаю перейти к классу DateTime
:
$date = new DateTime(); // create date for current date
$date->sub(new DateInterval("P30D")); // subtract 30 days
echo $date->format("c"); // 2018-04-02T13:57:54+05:00
Это отлично работает, спасибо, что это была ошибка нажатия клавиши!