Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DATETIME or INT ? 
:(
    Опции темы
Mosik
Дата 6.7.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Все время держал дату в формате DATETIME. Но постоянно приходилось ее конвертить в метку времени (timestamp) а потом к тому виду, который хочется.

Вчера посмотрел в каком формате держат дату разработчики продуктов phpBB, osCommerce и echoArticles. Они все держат время в поле типа INT! 

Вот и думаю. Не с балды же ведь разработчики БД реализовали типы данных даты и времени. Так почему многие держат в INT?

Я понимаю что это личный выбор каждого разработчика, в каком формате держать дату. Вот и прошу высказаться по этому поводу. (в поиске был)

Прошу высказаться кто в каком формате держит дату в БД и аргументировать свой выбор. 
PM MAIL   Вверх
DENNN
Дата 6.7.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 2
Всего: 43



Цитата(Mosik @  6.7.2006,  10:39 Найти цитируемый пост)
о постоянно приходилось ее конвертить в метку времени (timestamp) а потом к тому виду, который хочется.

Непонятно зачем. Когда будет ясность в этом вопросе можно будет ответить и на 

Цитата(Mosik @  6.7.2006,  10:39 Найти цитируемый пост)
Прошу высказаться кто в каком формате держит дату в БД

 
PM ICQ   Вверх
Mosik
Дата 6.7.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Цитата(DENNN @  6.7.2006,  11:52 Найти цитируемый пост)
Непонятно зачем. Когда будет ясность в этом вопросе можно будет ответить и на 

Конвертацию я производил средствами php
Функции mySQL не использовал 
PM MAIL   Вверх
cyberface
Дата 7.7.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 6.6.2006

Репутация: 1
Всего: 5



Мне тоже было бы интересно услушать мнение людей. Лично я храню в формате timestamp, а при извлечении использую функции вот так:
FROM_UNIXTIME(UNIX_TIMESTAMP(time),'%H:%i %d.%m.%y')
 
PM MAIL   Вверх
Mosik
Дата 7.7.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 6.7.2006

Репутация: нет
Всего: нет



Почитал вчера комментарии тут и на других форумах и почти согласился с мыслью что буду держать дату в DATETIME.

А потом меня посетила следующая мысль:
У меня есть класс, который отвечает за работу с таблицей статей (продуктов, сайтов, нет значения чего...). В нем есть метод getItem, который возвращает массив с данными статьи. Везде в коде проекта я вызываю данный метод объекта для получения элемента. Зачем думаю объяснять не стоит.

Так вот, в разных местах проекта мне может понадобиться дата в разных форматах. И использовать функции mySQL тут уже не получится так как запрос к БД идет в методе getItem, который для всего проекта один.

Получается что в данном случае целесообразней дату хранить как INT и средствами PHP ее конвертить в любой формат?
Какие будут мысли по этому поводу?

-------------
работаю над форумом косметики Oriflame 
PM MAIL   Вверх
Gold Dragon
Дата 10.7.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 2
Всего: 71



Цитата(Mosik @  7.7.2006,  13:24 Найти цитируемый пост)
Получается что в данном случае целесообразней дату хранить как INT и средствами PHP ее конвертить в любой формат?
Не получается. Средствами PHP можно легко конвертировать и формат DATETIME.

Из лично опыта... раньше использовал INT, сейчас уже не помню, но операции с датой в этом формате в MySQL не очень удобны. И в итоге перешёл на DATETIME. По крайней мере данные выглядят читаемы. А в PHP я написал небольшую функцию, которая готовит мне DATETIME в нужный мне формат. Плюс ко всему, мне не нужно будет изгаляться, когда понадобится делать другой формат, достаточно просто поправить функцию
 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Kefir
Дата 10.7.2006, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 1
Всего: 87



Mosik, если тебе нунразные форматы, то можно ведь добавить один параметр в функцию getItem($dateFormat) {}, который потом проставлять в запрос к БД, а по дефолту этот параметр выставить тот, который ты чаще всего используешь, итого, получаем - если необходимо получить итем со стандартным форматов даты - пиши getTime(), если же какой-либо другой - просто напросто getItem("new format"). И проблема отпадает. 
PM MAIL WWW Skype   Вверх
BASILIO
Дата 18.3.2008, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Gold Dragon

Если не секрет, почему изменил своему принцепу, вот просто две темы нашол с твоим коментом, тута ты ещё был за ИНТ: http://forum.vingrad.ru/index.php?showtopi...st&p=315243

А сейчас уже против.... лично мне нужно сейчас будет отсчитывать 24 часа, почему-то считаю что проще всего будет сделать так:

Код

$t
if (time()-$t > 86400) {echo "opozdal";}


вот и думаю, хранить ету метку как ИНТ или как Датавремя....
PM   Вверх
Serkys
Дата 18.3.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1061
Регистрация: 19.4.2004

Репутация: нет
Всего: 22



Я храню время в виде timestamp. Удобно тем, что в шаблонах smarty можно запросто приводить дату к тому формату, который нужен сейчас, не углубляясь в код. С функциями обработки даты/времени в MySQL почти не знаком, может быть поэтому мне кажется удобным хранить время в timestamp'е.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0703 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.