конвертировать месяц из имени в число - PullRequest
46 голосов
/ 19 июля 2010

Есть ли простой способ изменить $month = "July"; так, чтобы $nmonth = 7 (07 тоже было бы хорошо).Я мог бы сделать заявление случая, но, конечно, уже есть функция для преобразования?РЕДАКТИРОВАТЬ: Я хотел бы, чтобы я мог принять несколько ответов, потому что двое из вас в основном дали мне то, что мне нужно, вашими объединенными полномочиями.Спасибо!

Ответы [ 16 ]

1 голос
/ 13 мая 2013

Использование

date("F", mktime(0, 0, 0, ($month)));

where, $month value will be 1 -> 12
1 голос
/ 19 июля 2010

Возможно использовать комбинацию с strtotime() и date()?

0 голосов
/ 09 июля 2017
$dt = '2017-Jan-10';
         OR
$dt = '2017-January-10';

дата эха ('Ym-d', strtotime ($ dt));

дата эха ('Y / m / d', strtotime ($ dt));

0 голосов
/ 11 июня 2015

Я знаю, что это может показаться простым решением, но почему бы просто не использовать что-то подобное

<select name="month">
  <option value="01">January</option>
  <option value="02">February</option>
  <option selected value="03">March</option>
</select>

Пользователь видит февраль, но 02 публикуется в базе данных

0 голосов
/ 05 ноября 2013
$date = 'Dec 25 2099';
echo date('d/m/Y', strtotime($date));

Это возвращает 01/01/1970, что означает, что php не поддерживает все даты, он возвращает правильную форматированную дату до Jan 19 2038, но Jan 20 2038 возвращает 01/01/1970

0 голосов
/ 13 июня 2013

В PHP 5.4 вы можете превратить ответ Мэтью в однострочник:

$date = sprintf('%d-%d-01', $year, date_parse('may')['month']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...