Я использую bootstrap timepicker, чтобы выбрать время начала смены и время окончания сдвига. Я отправляю значения времени начала и времени окончания в другой скрипт php, чтобы сохранить их в базе данных. Я использовал функцию strtotime, чтобы преобразовать значения timepicker, а затем сохранить их в базе данных, но безуспешно. Оба значения времени в базе данных сохраняются как одно и то же значение даже после преобразования.

$converted_starttime = strtotime($_POST['starttime']);
$converted_endtime = strtotime($_POST['endtime']);

Я также хочу провести сравнения, используя это время начала и время окончания смены. Есть ли лучший способ сохранить значения таймпикера в базе данных, чтобы их можно было легко использовать для сравнений. Любая помощь приветствуется.

1
Rams 29 Май 2014 в 10:05
Что такое тип поля БД?
 – 
Anri
29 Май 2014 в 10:08
Я использую тип данных TIME
 – 
Rams
29 Май 2014 в 10:11
Попробуйте напечатать $converted_starttime = strtotime($_POST['starttime']); значение и поставить БД вручную...
 – 
Anri
29 Май 2014 в 10:12
Если я выберу время как 6:00 утра в средстве выбора времени начала, то преобразованное значение с использованием strtotime будет 1401301800, но если оно будет проверено в БД, значение будет 838:59:59. Какой тип данных использовать в БД для хранения преобразованного значения.
 – 
Rams
29 Май 2014 в 10:19
Спасибо за помощь.
 – 
Rams
29 Май 2014 в 11:09

2 ответа

Лучший ответ

Решение :

Изменить тип базы данных на целое число, вы не можете сохранить int в поле типа время

ПОСМОТРЕТЬ

0
Anri 29 Май 2014 в 11:10

Strtotime преобразует значение в метку времени Linux, которая является числом. Если вы должны сохранить как дату и время в базе данных, вам необходимо передать правильный формат даты и времени.

Что-то типа:

$datetime=date('Y-m-d H:i:s',strtotime($_POST['starttime']);

Убедитесь, что используете правильный разделитель.

0
tairus 29 Май 2014 в 11:16