У меня есть форма с двумя полями даты и времени.Пользователь вводит дату (гггг-мм-дд) и время (3 поля; час, минута, am / pm).
По какой-то причине первое не сохраняется как 24-часовое время,
Следующие данные являются результатом ввода:
2011-1-1 16:30
Я использую strtotime () для преобразования строки в формат даты и времени.
$dateOccured = date('Y-m-d H:i:s', strtotime($dateOccurred));
$dateResolved = date('Y-m-d H:i:s', strtotime($dateResolved));
Если я использую print_r (), чтобы посмотреть на результаты этого, он отображается правильно.
Дата произошла:
[year] => 2011
[month] => 1
[day] => 1
[hour] => 16
[minute] => 30
[second] => 0
[fraction] => 0
[warning_count] => 0
Дата разрешена
[year] => 2011
[month] => 1
[day] => 1
[hour] => 16
[minute] => 30
[second] => 0
[fraction] => 0
[warning_count] => 0
Оба показывают правильное время: 16:30 (или 16:30).Когда я смотрю в своей базе данных, это то, что отображается.
Дата произошла
2011-01-01 04:30:00
Дата решена
2011-01-01 16:30:00
Я знаю, что это проблема с переменной dateOccurredпотому что, если я заменю его на dateResolved в моем запросе, он будет вставлен правильно.Что я не могу понять, это где проблема?Что мне не хватает, что вызывает это?
Спасибо.
Если бы это была база данных, не заменила ли бы переменная dateOccurn на dateResolved в запросе?Вот запрос INSERT
"INSERT INTO
incidents (
incidentNumber, date, itFunction, issue, severity,
owner, dateOccurred, dateResolved, locationsImpacted, businessImpact,
rcaRequired, rcaReceived, rootCause, notes)
VALUES (
'{$incidentNumber}', '{$date}', '{$itFunction}', '{$issue}', '{$severity}',
'{$owner}', '{$dateOccurred}', '{$dateResolved}', '{$locationsImpacted}', '{$businessImpact}',
'{$rcaRequired}', '{$rcaReceived}', '{$rootCause}', '{$notes}')"
Они оба поля даты и времени.