2013-04-08 85 views
1

我已经在我的mysql数据库中设置了一个字段作为“时间戳”,但它仍然返回查询的时间为yyyy:mm:dd:time。我将它设置为时间戳,因为我想要1970年以来的毫秒。我如何实现这一点?mysql时间戳不在纪元中

+0

mysql时间戳有1秒的分辨率。它们不包括毫秒,但可以平均地乘以1000以转换为毫秒,例如, 'select unix_timestamp(timestampfield)* 1000'。 – 2013-04-08 03:37:27

+0

直到5.6.4,其中'TIMESTAMPS' *可以*具有毫秒。见http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html – 2013-04-08 04:21:50

回答

0

您使用哪种语言?在PHP中,您可以使用函数strtotime将MySQL时间戳转换为纪元中的秒数。如果绝对绝望,也可以使用字符串解析来获取时间戳的每个部分,并自己计算出时间段的秒数。

+0

PHP,然后回到JS,希望有一种方式直接从MySQL返回提取纪元,欢呼声,将试试吧 – user1637477 2013-04-08 03:35:21

+0

你可以在MySQL中做到这一点。查看我以前的答案,将Unix时间戳存储为INT,然后调用'FROM_UNIXTIME()'执行更多可读查询。 – mitnosirrag 2013-04-09 01:34:08

0

只需将Unix时间戳存储为INT即可。然后当你从数据库中调用它时,你可以在服务器端处理它以获得你想要的。