Как преобразовать строку на сегодняшний день

Я бы преобразовал строку типа «22 июля 2011 года в 7:42» в другом формате. Я попытался использовать функции strtotime и date_parse_from_format, но в этом случае они не работают правильно. Я полагаю, что причиной этой проблемы может быть подстрока «in».

Как преобразовать этот формат в тип даты или в метку времени?

Я полагаю, что причиной этой проблемы может быть подстрока «in».

Насколько я вижу, вы правы. По крайней мере, i является идентификатором («Минуты с ведущими нулями»), поэтому вы должны избегать его.

 var_dump(date_parse_from_format('F d, Y \i\ng:ia', $string)); 

См. date() Пример # 2

Эй, попробуйте следующие решения

 print $date = "July 22, 2011 in 7:42pm"; $date = date_parse_from_format('F j, Y * h:iA', $date); print '<pre>'; print_r($date); 

Я бы преобразовал строку типа «22 июля 2011 года в 7:42» в другом формате.

Статический метод DateTime::createFromFormat() ( документация ) (или псевдоним date_create_from_format() ) является предпочтительным. Ниже приведен пример его использования для ваших нужд, но не забудьте принять информацию, содержащуюся в документации.

Как преобразовать этот формат в тип даты или в метку времени?

Ниже приведен базовый пример. Для доступных символов форматирования см. Страницу с date() .

 $subject = 'July 22, 2011 in 7:42pm'; $datetime = DateTime::createFromFormat('F d, Y \i\ng:ia', $subject); // Output as another format (2011-07-22 19:42:00) echo $datetime->format('Ymd H:i:s'); // Output as Unix timestamp (1311327720) echo $datetime->getTimestamp();