работает PHP версии 5.1.2

жный дубликат:
конвертировать месяц из имени в число

У меня есть простой (но интересный) запрос для всех.

Короче говоря, я получаю название месяца, например, январь, февраль и т. Д. Теперь мне нужно преобразовать его в число месяца (т. Е. Числовое представление месяца),с ведущими нулями

Пример: от «января» до «01», от «декабрь» до «12» и т. Д.

Кто-нибудь знает, как этого добиться,без использования массива

Спасибо

 StasM06 янв. 2011 г., 07:07
почему без использования массива?
 I-M-JM06 янв. 2011 г., 07:09
@StasM: Мне нужно посмотреть, насколько сложной может стать вещь, я знаю, что с помощью массива это будет просто «пирог», но это как-то иначе.

Ответы на вопрос(7)

Решение Вопроса
$month = 'Feb';
echo date('m', strtotime($month));

strtotime преобразует "февраль" в метку времени для6 февраля 2011 15:15:00 (на момент написания), взяв все, что можно из заданной строки и заполнив пробелы из текущего времени.date('m') затем форматирует эту метку времени, выводя только номер месяца.

Так как это может вызвать проблемы, скажем, 31-го, вы должны заполнить эти пробелы, чтобы быть уверенными:

echo date('m', strtotime("$month 1 2011"));
$date = strtotime ("Jan");
print date("m", $date);

PHP: strtotime - руководство

Подробнее о дате:PHP: дата - Руководство

 ryantxr31 янв. 2018 г., 17:25
Это не работает на PHP 7. 'Feb' и 'Mar' оба возвращают 03.

$mon = 'Feb';
$month = date("F d Y",strtotime("$mon 31, 2010"));

это будет работать нормально.

попробуй это

$test  //whatever you getting
echo date("m",strtotime($test));

также см

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

Учитывая, что у вас уже есть своя дата.

$date = 'Jun';
$month = date('m', strtotime($date));
 ryantxr31 янв. 2018 г., 17:24
Это не работает на PHP 7. 'Feb' и 'Mar' оба возвращают 03.

например:

$monthName = 'Jan';

echo date('m', strtotime($monthName));
 ryantxr31 янв. 2018 г., 17:24
Это не работает на PHP 7. 'Feb' и 'Mar' оба возвращают 03.

Это не работает для меня:

$mon = 'Aug';
$month = date("F",strtotime($mon));

Я получаю "декабрь" ???

однако, если я укажу это на день и год, это преобразуется нормально:

$mon = 'Aug';
$month = date("F d Y",strtotime("$mon 31, 2011"));

оно работает.

работает PHP версии 5.1.2

Ваш ответ на вопрос