У меня есть дата как вторник 15 декабря 2009. Как я могу преобразовать его в секунды?
Обновление: Как я могу преобразовать дату, отформатированную как выше к метке времени Unix?
Я полагаю, что под секундами вы имеете в виду метку времени UNIX .
strtotime () должно помочь.
Вы можете использовать функцию 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 , как указано здесь.
Вы имеете в виду как временную метку UNIX? Попробуйте:
echo strtotime('Tue Dec 15 2009');