я хотел бы сохранить дату и время в следующем формате в базе данных
a) DD-MM-YYYY или я мог бы добавить HH-MM b), так как мои серверы расположены в США, я бы хотел получить время в соответствии с IST. теперь будет GMT: +5: 30
раньше я использовал для хранения даты в mysql в этом формате timestamp (int (11)): 1291746600. Я использовал для преобразования даты с strtotime (); в настоящее время мое намерение хранить дату – это просто хранить и отображать. в будущем я хотел бы рассчитать нет. дней, месяцев и т. д.
что было бы лучшим решением для этого?
P: S: Я был бы признателен, если бы кто-нибудь мог объяснить мне, какой тип данных использовать и как использовать его с PHP.
Используйте поля DATETIME
! Они являются лучшим форматом для хранения дат в mySQL. Они предлагают правильную индексацию и оптимизацию, и вы можете использовать весь спектр функций даты mySQL.
В любом конкретном формате, который требуется для вывода полей, вы можете создать из поля DATETIME с помощью DATE_FORMAT()
.
MySQL не поддерживает часовые пояса в полях DATETIME – вы обычно устанавливаете глобальный часовой пояс на сервере и используете это.
В этих вопросах есть хорошие ссылки на Timezones:
Используйте поле datetime.
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
У вас будет доступ к множеству функций для манипуляций с датами.
Если вы хотите использовать varchar, используйте формат ISO-TIME (YYYY-MM-DD), а не мы.
Я думаю, вы должны использовать тип данных DATETIME
. Дополнительные операции по дате и времени см. В функциях, перечисленных здесь: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html