Datetime to Integer
У меня есть одна проблема... В моей базе данных MySQL есть таблица, в которой хранятся записи списка дел внутри календаря типа JQuery.
Мне нужно было создать calendar_id
, который будет генерировать напоминание, как только я создам временную метку (считая, что время, которое я нажал на любой из датских календаря, для ввода некоторых заданий - просто: созданный datetime).
Это приложение для работы со списком дел - это внешнее приложение, над которым я работал, чтобы интегрироваться с моей собственной системой управления. Я заметил, что столбец timestamp находится в формате int(11)
, поэтому любая введенная временная метка будет преобразована в целое число.
Например, взгляните на это:
2012-02-22 15:31:24
преобразован в
1329899400
Как мы можем преобразовать datetime в этот формат? Это не в секундах, когда я пытался:
intval(floor($datetime/86400));
Любая помощь?
Ответы
Ответ 1
FROM UNIXTIME
может форматировать временные метки UNIX в полях datetime:
SELECT FROM_UNIXTIME(time)
FROM ...
Реверсная функция будет UNIX_TIMESTAMP
.
В качестве альтернативы вы можете сделать это на PHP, если доступно:
Чтобы сохранить дату в формате DB, выполните следующие действия:
$datetimeStr = '2012-02-22 15:31:24';
$datetime = strtotime($datetimeStr);
Чтобы извлечь его из базы данных и отформатировать в исходном формате, используйте примерно следующее:
$dateTimeFromDB = '1329921084';
$datetimeStr = date('Y-m-d H:i:s', $dateTimeFromDB);
Ответ 2
Здесь хорошая MySQL UNIX_TIMESTAMP()
для вас