Создать день, дату, время в БД - Вопрос - PullRequest
0 голосов
/ 04 сентября 2010

Create_date -> Предположим, он будет записан как 2/2/2009.Для целей поиска при поиске по дате создания мы можем искать по отдельному месяцу или году из этого или нам нужно даже записать create_day, create_month, crate_year для этого?Один из фильтров поиска для пользовательского контента будет похож на пример -> «Показать контент за последние 2 недели, в прошлом месяце, в прошлом году, только в текущем месяце» *

create_day -> Хотя мы записываем числовую дату, много раз длянам может понадобиться отобразить текстовый день (т.е. четверг), чтобы показать, когда был создан объект.Как мы видим на социальных сайтах, «созданных в четверг, 29 января 2009 года в 15:45».Чтобы получить этот вывод, нужно ли записывать create_day для всех объектов / действий или он рассчитывается для каждой загрузки страницы на уровне приложения?

create_time -> Сколько времени мы храним в БД?Пользовательское местное время или фиксированное время?Это глобальный сайт.Если исправлено, скажем, я делаю GMT по умолчанию.Тогда следующий вопрос - как отобразить правильное время для пользователя, чтобы оно соответствовало его местному времени?Необходимо учитывать, что в США время меняется два раза в год (экономия при дневном свете).ИЛИ, может быть, записывать время всегда в GMT, но отображать его пользователям на основе их обнаруженного часового пояса, но тогда это означает вычисление времени из часового пояса для каждой загрузки страницы?

И, поскольку я здесь, сторона Q->Есть ли разница между поиском и справочной таблицей?Как различить эти две таблицы -> «Account_status», который имеет значения «Активный», «Подтвержденный» и т. Д. ... И еще одну таблицу «Город», в которой есть названия городов.Первая таблица - это таблица системных идентификаторов, используемая только в серверной части.Таблица города - это таблица идентификаторов, используемая пользователями для выбора города.Они оба справочные или одинаковые / разные?

1 Ответ

0 голосов
/ 04 сентября 2010
  • Create_date Обычно вы хотите использовать базовый тип хранения даты DMBS, в котором хранятся все фрагменты даты (и время, если необходимо, например, MySQL datetime).Это открывает возможность использовать функции обработки данных в СУБД.Для примера фильтра вы бы вычислили дату на 2 недели назад.Вы также можете получить функцию для указания такой строки в СУБД.PHP strotime () позволяет это.
  • Create_day Текстовый вывод либо автоматический (например, дата-время MySQL), либо его легко отобразить любой необходимый фрагмент.(PHP date () может сделать это).Обычно хорошей идеей является сохранение отметки времени (datetime) для каждой записи.
  • Create_time Если это глобальное приложение, вы захотите использовать UTC / GMT.Каждому пользователю будет назначено смещение времени, а также отправка формы (например, поиск).Объекты DateTime в PHP позволяют указывать имя часового пояса в качестве смещения.Пользователь может выбирать из списка, но в его стандартной форме это большой список, который мало подходит для удобства использования, если он даже не соответствует его городу (http://us.php.net/manual/en/timezones.php).) Другой вариант - получить часовой пояс компьютера пользователя через Javascript.
  • Таблица поиска Да, это обе таблицы поиска.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...