У меня есть дата с PayPal IPN
payment_date = 20:12:59 Jan 13, 2009 PST
Как я могу преобразовать в Ymd\TH:i:s\Z
?
Я попытался
$date = new DateTime($_POST['payment_date']); $payment_date = $date->format('Ymd\TH:i:s\Z');
Но в моей БД я получаю только '0000-00-00 00:00:00'
спасибо
DateTime должен иметь возможность проанализировать этот формат:
$str = '20:12:59 Jan 13, 2009 PST'; $date = new DateTime($str); $date->setTimezone(new DateTimezone('UTC')); $payment_date = $date->format('Ymd\TH:i:s\Z'); echo $payment_date;
Выход :
2009-01-13T20:12:59Z
Это должно работать должным образом. Ваша переменная $_POST['payment_date']
может содержать некоторые дополнительные символы в начале или конце. Вы можете попробовать trim()
в переменной $_POST
чтобы убедиться, что в начале или конце нет пробелов.