Предотвратите дату PHP () от установки по умолчанию до 31.12.1969

Я использую базу данных MySQL с PHP. Я храню свои значения даты в базе данных с помощью DATETIME поле.

Я использую этот код PHP для преобразования введенных дат в соответствующий формат для MySQL.

date("Y-m-d H:i:s", strtotime($inputDate))

Однако каждый раз, когда дата недопустима, она помещается в базу данных как 1969-12-31 19:00:00

Есть ли способ принять значение по умолчанию это к 0000-00-00 00:00:00 ?

10
задан JoeBob 8 February 2010 в 19:01
поделиться

2 ответа

Просто определите достоверность с помощью вывода strtotime () , который возвращает false при ошибке .

Что-то вроде:

$time = strtotime($inputDate);
$date = ($time === false) ? '0000-00-00 00:00:00' : date('Y-m-d H:i:s', $time);
15
ответ дан 3 December 2019 в 21:59
поделиться

strtotime возвращает false, дата которого равна 0. Прежде чем вы должны убедиться, что strtotime не возвращает false, чтобы предотвратить это:

$ts = strtotime($inputDate);

if ($ts === false)
{
//invalid date
}
else
{
echo date("Y-m-d H:i:s", $ts);
}
1
ответ дан 3 December 2019 в 21:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: