我目前正在开展一个项目,我正在将时间记录到我的数据库中,我也希望存储两次之间的差异。我使用SQL对象实现它们:TIMESTAMP并使用
记录时间戳TIMESTAMP(CURDATE(),CURTIME())
这些商店很好。现在我想计算两次之间的差异,但看起来PHP的TIMESTAMPDIFF()函数接受了datetime对象而不是timestamp对象。我可以通过几种方式继续前进,但我想知道SQL开发人员是否有首选方式记录和计算时差。我需要日期和时间,以便我可以准确地区分第二个。
答案 0 :(得分:0)
这似乎是一个2部分问题,绝对是关于SO的其他问题的重复。快速搜索产生了一个SO问题,超过1000人投票选择DATETIME
作为存储类型(Should I use field 'datetime' or 'timestamp'?)
mysql中DATETIME
和TIMESTAMP
之间的主要区别在于TIMESTAMP
将该日期存储在UTC,而datetime
将存储您的特定值。因此,如果您不需要在时区之间进行转换,或者有多个时区等,请坚持DATETIME
并且您不必转换或投射或任何其他内容。
至于获得2 datetimes
或2 timestamps
之间的差异,我确信他们在这里是SO问题,我建议再搜索一下。