2016-03-30 3 views
1

Это мой простой код, чтобы сказать, месяц прописьюdate_create_from_format() возвращает неправильное значение.

<?php 
    $date = date_create_from_format('m', '12'); 
    $numw = $date->format('F'); 
    echo $numw;// december 
?> 

работает хорошо ожидать февраля. Он возвращается маршем

<?php 
    $date = date_create_from_format('m', '02'); 
    $numw = $date->format('F'); 
    echo $numw;// march 
?> 

как решить эту проблему. это предварительно определенные функции PHP. он работает неправильно или я использую его неправильно?

+0

В чем проблема? вы меняете формат даты на F (отображаете текст месяца), затем вы выводите. –

+0

@VincentDecaux: он возвращает марш. но он должен вернуться Февраль –

ответ

3

Возможно, потому что текущая дата по умолчанию 30-го, а февраль не заходит так далеко. И тогда он предполагает, что это в марте.

Это указано на manual.

Если формат не содержит символа! то части сгенерированного времени, которые не указаны в формате, будут установлены на текущее системное время.

Вы также можете определить день месяца.

$date = date_create_from_format('d-m', '01-02'); 
+0

Очень приятное мышление :) Не возражаете ли вы редактировать? –

+0

Нет, сэр, нет. Мы здесь, чтобы помочь :) –

Смежные вопросы