Имеет ли PHP обратную функцию date () (кроме strtotime ())?

Существует ли функция, использующая формат date() для интерпретации строки?

 echo date('siH d:m:Y', 1304591364); // 34-29-17 05:05:2011 // Does this function exist? echo inverse_date('siH d:m:Y', '34-29-17 05:05:2011'); // 1304591364 

Я знаю strtotime() , но в большинстве случаев меня не strtotime() , так как я не разбираюсь в форматах даты на английском языке.

Я ищу функцию, которая может диктовать формат.

Solutions Collecting From Web of "Имеет ли PHP обратную функцию date () (кроме strtotime ())?"

Настоящий ответ на этот вопрос, я имею в виду: http://www.php.net/manual/en/datetime.createfromformat.php

 <?php $date = date_create_from_format('jM-Y', '15-Feb-2009'); echo date_format($date, 'Ym-d'); // 2009-02-15 ?> 

Для этого вы обычно используете strtotime :

 echo strtotime('2011-05-05 17:29:34'); 

Из руководства:

strtotime – проанализировать любое текстовое описание даты и времени на английском языке в метке времени Unix

Смотрите правильные форматы даты и времени, чтобы убедиться, что строка, которую вы передаете, будет правильно проанализирована.

PHP 5.4+ напечатает 1359674625

 echo date_create_from_format('j/n/YG:i:s','1/2/2013 1:23:45')->getTimestamp(); 

Функция mktime похоже, делает то, что вы хотите.

Проверьте справку на php.net:

http://php.net/manual/en/function.mktime.php

EDIT: действительно strtotime может быть более удобным для вас, я не знал этой функции, рад узнать.

Принятый ответ правильный IMO, но вы также можете использовать синтаксис OO: DateTime::createFromFormat например:

 $dateTimeObject = \DateTime::createFromFormat('G:i', '9:30'); $dateTimeObject->format('H:i'); 

См. http://php.net/manual/en/function.date.php для руководства по форматированию и http://php.net/manual/en/datetime.createfromformat.php для получения информации о методе, описанном выше.

Да, вы можете использовать:

 echo strtotime("2011-05-05 17:29:34"); 

Попробуйте это сделать наоборот:

$ x = '2013-09-15';

$ x = implode ('-', array_reverse (explode ('-', $ x)));

// теперь $ x = '15 -09-2013 '