我想在数据库中以下列格式存储日期和时间
a)DD-MM-YYYY或者我可以加起来HH-MM b)由于我的服务器位于美国,我想根据IST获取时间。现在这将是GMT:+5:30
早些时候我曾经用这种格式的时间戳(int(11))将日期存储在mysql中:1291746600。我曾经用strtotime()转换日期; 目前我存储日期的目的只是存储和显示。将来我想计算一下。几天,几个月等。
哪种解决方案最好?
P:S:如果有人能解释我使用哪种数据类型以及如何在PHP中使用它,我将不胜感激。
答案 0 :(得分:10)
使用DATETIME
fields!它们是在mySQL中存储日期的最佳格式。它们提供了正确的索引和优化,您可以使用mySQL的全部date functions。
输出字段所需的任何特定格式,您可以使用DATE_FORMAT()
.
MySQL在DATETIME字段中不支持时区 - 您通常会在服务器上设置global time zone并使用它。
在这些问题中,有关时区的相关阅读材料很好:
答案 1 :(得分:3)
使用日期时间字段。
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
您可以访问许多日期操作功能。
如果您仍想使用varchar,请使用ISO-TIME格式(YYYY-MM-DD)而不是美国。
答案 2 :(得分:3)
我认为您应该使用DATETIME
数据类型。
有关日期和时间的更多操作,请查看此处列出的功能
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html