首页 > 你们储存到数据库中的时间的格式是什么

你们储存到数据库中的时间的格式是什么

我现在 PHP 都是用 time() 得到的 unix timestamp.

你们用什么。

用别的格式像 datetime 有什么优势?


timestamp可以保存到2038年
datetime可以保存到9999年

矫情与否。。您自己斟酌…… -_- |||


datetime 或者 smalldate 有的时候也用int类型代表时间戳


datetime,好处是易于人类阅读,并且不受 unix timestamp 的起止范围限制。

timestamp,好处是易于计算两个时间点之间的时间差,并且节省空间;一定程度上易于索引。

还有就是性能问题了,如果是 MySQL 的话,建议看看: http://gpshumano.blogs.dri.pt/2009/07/06/mysql-datetime-vs-timestamp-vs-int-performance-and-benchmarking-with-myisam/


Mysql提供了两种相似的数据类型:DATETIMETIMESTAMP

跟你一样,除了特殊行为外,通常使用TIMESTAMP,因为它比DATETIME更节约空间。


TIMESTAMP

mysql 每个表里面只用一个 TIMESTAMP,剩下的时间字段使用 datetime。


用的是datetime


一般来说,看字段的实际用途。如果是给人看的,就date或者datetime,如果是要在SQL里面进行运算或者比较的,用int。如果两种都有的话,就两种类型都用,代码里面同步更新


一直都是int


11位int保存时间戳,我一直都这样


MongoDB

ISODate(精确到毫秒)或者 UNIX 时间戳(精度更高)

PostgreSQL

timestamp with time zone

PS: 我这个答案是用 rst 格式写好再转成 HTML 的,因为 markdown 似乎不支持描述性列表


我用的是int类型保存unix时间戳


使用unix时间戳保存,要显示该时间时,再用date函数处理一下即可。

【热门文章】
【热门文章】