LINUX.ORG.RU
решено ФорумTalks

Как лучше хранить дату, чтобы с ней было удобно работать.


0

0

Пишу на питоне курсач. В БД надо хранить дату и время. В программе надо будет складывать вычитать (дни, часы), к этому надо будет привязать стандартный гномовский виджет - календарь. Что лучше, использовать sql DATETIME или может быть просто хранить unix time как int?

★★★★★
Ответ на: комментарий от ls-h

просто хорошие привычки в области кодонаписания они либо прививаются сразу либо не прививаются потом вообще

vahvarh ★★★
()

Храни в Unix-time как long. Не используй SQL (используй no-SQL БД).

iZEN ★★★★★
()
Ответ на: комментарий от wfrr

>который в 32 году уничтожит землю

в 38-м. хотя, чем Столлман не шутит.

k0l0b0k ★★
()
Ответ на: комментарий от name_no

>Так что храни в datetime.

Если объёмы большие, то быстро станет понятно, что DATETIME сильно медленнее INT'а. Особенно при выборках интервалов. (Индексы, как бы, подразумеваются, так что К.О. пусть спит)

KRoN73 ★★★★★
()
Ответ на: комментарий от wfrr

int

4байта, детчока пишет курсач который в 32 году уничтожит землю

18 января 2038 можно сделать ALTER TABLE ... BIGINT ...

KRoN73 ★★★★★
()
Ответ на: комментарий от Eddy_Em

>Если работать с историческими датами, то лучше всего вообще в юлианских днях время хранить...

Ну, где-то очень глубоко - оно так и есть. Но иногда производительность важнее удобства и точности...

KRoN73 ★★★★★
()
Ответ на: комментарий от wfrr

детчока пишет курсач который в 32 году уничтожит землю


органы безопасносте пресекут распространение курсача

Karapuz ★★★★★
()
Ответ на: комментарий от Karapuz

>Ох, в 2038 году никто не будет даже знать, что такое alter table, тем более bigint

Тогда и проблемы такой не будет ;)

KRoN73 ★★★★★
()
Ответ на: комментарий от wfrr

>>int

4байта, детчока пишет курсач который в 32 году уничтожит землю

конец света в 2012, так что всё равно

hired777
()
Ответ на: комментарий от kranky

> Я в базе храню unixtime в unsigned int

А как насчет таймзоны? :-)

no-dashi ★★★★★
()
Ответ на: комментарий от Eddy_Em

>Если работать с историческими датами, то лучше всего вообще в юлианских днях время хранить...

Да, а длину в локтях измерять.

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Юлианские дни - общепризнанный способ измерения времени (в астрономии). Так что не надо про локти.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.