我一生都在使用unix时间戳。
我喜欢它,因为它容易比较,它很快,因为我将它存储为整数。由于我使用的是PHP,因此可以使用unixtimestamp中的date()函数获取任何日期/时间格式。
现在,有些人说最好使用DATETIME格式。但除了更合适的名字之外,我看不出有什么好处。
使用DATETIME真的更好吗?如果是这样,优点是什么?
谢谢。
发布于 2009-07-12 18:04:53
如果您将日期作为Unix时间戳存储在数据库中,那么您就给了自己沉重的负担。您必须将它们转换为您想要使用的格式,您必须在日期范围之间进行计算,您必须构建查询以获取某个范围内的数据。这似乎有悖于直觉--你的“程序员时间”是不是最好用来解决真正的问题?
似乎更好的做法是以MySQL提供的适当格式存储日期和时间,然后使用数据库函数创建所需数据的查询。与下午花在阅读(和理解) 11.6 MySQL Date and Time Functions上的时间相比,你会浪费大量的时间来做所有的转换和胡闹
发布于 2014-11-07 14:08:17
我一生都是unix时间戳的铁杆粉丝。但我认为正确的答案是:“取决于”。我最近做了一个单表数据库,我只想列出URL。将有一个日期字段,但日期字段仅用于排序。即按last_crawled排序。这意味着我永远不会在该字段上使用任何内置的日期函数。这只是一种先获取最旧条目的简单方法,我永远不会将日期函数应用于此字段。现在,如果我将其设置为日期字段,我将失去两件事:
datetime字段的大小是integer
,这一点并不是100%确定的
然而,对于另一个系统,我必须存储事务信息。这使得使用internal mysql date functions成为可能,当我们必须开始做报告时,这被证明是非常有用的。
发布于 2009-07-12 17:56:20
使用MySQL date/time types的一个优点是能够更简单地使用date/time functions in MySQL。
DATE类型的优势还在于,它只存储日、月和年,因此不会浪费空间,也不会像在你只关心一天而不关心时间的情况下那样浪费空间,也不会出现自纪元时间以来的比较复杂的情况。
就我个人而言,我倾向于将数据库用作数据的转储,因此对此类函数兴趣不大。在PHP中,我倾向于以整数格式存储日期,原因与您所说的差不多。
https://stackoverflow.com/questions/1116529
复制相似问题