Как конвертировать метку времени в строку даты / времени в PHP? - PullRequest
1 голос
/ 22 февраля 2012

Мне нужно построить DateTime из целой метки времени Unix 1329272833.В документации сказано, что конструктору нужна строка «дата / время», например 2006-04-12T12:30:00.Я вручную сделал свое собственное преобразование:

$dateTimeEnd = new DateTime(
    date('Y-m-d\TH-i-s', 1329272833)
);

Есть ли в PHP встроенная функция для этого преобразования?

Ответы [ 4 ]

10 голосов
/ 22 февраля 2012

Вы можете использовать метку времени в качестве параметра, если добавляете знак @ спереди:

$dateTimeEnd = new DateTime('@1329272833'); # 2012-02-15 02:27:13+00:00

Демо .Вы найдете документацию на странице руководства , см. Примеры .

3 голосов
/ 22 февраля 2012
$dateTimeEnd = DateTime::createFromFormat('U', 1329272833);

См. DateTime::createFromFormat()

2 голосов
/ 22 февраля 2012
$date = new DateTime();
$date->setTimestamp(1171502725);

Datetime :: setTimestamp ()

1 голос
/ 10 сентября 2015

Все комментарии выше не отвечают на вопрос «как конвертировать метку времени в дату и время STRING», они отвечают на вопрос «как конвертировать метку времени в объект дата-время»

Учитывая, что $ dateTime-> date не работает, мне кажется, ответ не так очевиден.

Возможно

$date = new DateTime();
$date->setTimestamp(1171502725);
$date_string = date_format($date, 'U = Y-m-d H:i:s')

будет ответом. Не уверен, что это оптимально. И выглядит некрасиво.

...