MySQL, хранящий время длительности-тип данных?
Мне нужно рассчитать время, которое пользователь проводит на сайте. Это разница между временем выхода из системы и временем входа в систему, чтобы дать мне что-то вроде "Mr X провел 4 часа и 43 минуты в интернете". Поэтому, чтобы сохранить 4 часа и 43 минуты, я объявил это так:
duration
время не NULL
это действительно или лучший способ сохранить это? Мне нужно хранить в БД, потому что у меня есть другие вычисления, которые мне нужно использовать для + других случаев использования.
2 ответов
сохранение его в виде целого числа секунд будет лучшим способом.
- на
UPDATE
будет чистым и простым, т. е.duration = duration + $increment
- как заметил Тристрам, есть ограничения С помощью
TIME
поле - например,"TIME
значения могут варьироваться от'-838:59:59'
до'838:59:59'
" - форматирование отображения дней/часов/минут/секунд не будет жестко закодировано.
- исполнение другие расчеты будет почти наверняка будет понятнее при работе с целочисленным полем "количество секунд".
Я бы не использовал время, так как вы были бы ограничены 24 часами. Проще всего хранить целое число в минутах (или секундах в зависимости от необходимого разрешения).