2012-01-04 3 views
-2

Я пытаюсь проверить дату на PHP, но я получаю ошибку «Недопустимый формат даты», даже если я предоставил правильный формат даты. Моя версия PHP - 5.3.8.Неверный выпуск даты

Вот мой код, пожалуйста, дайте мне знать, что вы думаете:

try 
{ 
    $validDate = new DateTime("2/2/2011"); 
    echo "valid format"; 
} 
catch(Exception $e) 
{ 
    echo "Date Incident Occurred: Invalid Date format!"; 
} 
+2

Ну, если бы вы снабжали правильный формат, то вам не будет с этой проблемой. Посмотрите документацию для конструктора 'DateTime'. –

+1

@LightnessRacesinOrbit Согласно http://www.php.net/manual/en/datetime.formats.date.php, это совершенно правильный формат. – ceejayoz

+0

Вы можете использовать 'strtotime' для анализа даты и создания объекта DateTime. –

ответ

3

Вы пробовали осматривая исключение? Он очень сильно пытается рассказать вам, что произошло. В этом вся причина существования. Если вы действительно поставляют правильную дату, я буду держать пари, что исключение говорит вам что-то вроде этого:

«DateTime :: __ конструкт(): Это не безопасно полагаться на установки системы часовых поясов. Вам необходимо указать , чтобы использовать настройку date.timezone или функцию date_default_timezone_set(). Если вы использовали какой-либо из этих методов, и вы все еще получаете это предупреждение, вы, скорее всего, ошибочно указали идентификатор часового пояса. Мы выбрали «Америка/New_York» для «EST/-5.0/нет DST» вместо»

+1

Не знаете, почему это занижено. Это может быть проблемой. – ceejayoz

+0

+1 согласен с @ceejayoz – rdlowrey

+0

Я бы поставил пачку [HobNobs] (http://en.wikipedia.org/wiki/HobNob), что это проблема. – salathe

-1
$validDate = date("m/d/Y", strtotime("2/2/2011")); 
+0

Это не будет генерировать объект DateTime. – ceejayoz

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