PHP: преобразовать дату в секунды?

У меня есть дата как вторник 15 декабря 2009. Как я могу преобразовать его в секунды?

Обновление: Как я могу преобразовать дату, отформатированную как выше к метке времени Unix?

5
задан choc 20 February 2012 в 07:05
поделиться

3 ответа

Я полагаю, что под секундами вы имеете в виду метку времени UNIX .

strtotime () должно помочь.

26
ответ дан 18 December 2019 в 05:14
поделиться

Вы можете использовать функцию strtotime , чтобы преобразовать эту дату в метку времени:

$str = 'Tue Dec 15 2009';
$timestamp = strtotime($str);

И, на всякий случай, давайте преобразуем ее обратно в дату в виде строки :

var_dump(date('Y-m-d', $timestamp));

Что дает нам:

string '2009-12-15' (length=10)

(Это доказывает, что strtotime действительно понял нашу дату ^^)



[edit 2012-05-19], поскольку некоторые другие вопросы могут указать здесь некоторым читателям: Обратите внимание, что strtotime () - не единственное решение, и вы должны быть в состоянии для работы с классом DateTime , который предоставляет некоторые интересные функции - особенно если вы используете PHP> = 5.3


В этом случае вы можете использовать что-то вроде следующей части кода:

$str = 'Tue Dec 15 2009';
$format = 'D F d Y';
$dt = DateTime::createFromFormat($format, $str);
$timestamp = $dt->format('U');


DateTime :: createFromFormat () позволяет создавать объект DateTime практически с любой даты, независимо от того, как она сформирована, поскольку вы можете указать формат даты в (этот метод доступен с PHP> = 5.3) .

И DateTime :: format () позволит вам отформатировать этот объект практически в любой формат даты, включая UNIX Timestamp , как указано здесь.

16
ответ дан 18 December 2019 в 05:14
поделиться

Вы имеете в виду как временную метку UNIX? Попробуйте:

echo strtotime('Tue Dec 15 2009');
6
ответ дан 18 December 2019 в 05:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: