【发布时间】:2012-03-25 17:12:02
【问题描述】:
如何读取时间戳值。我在具有时间戳列数据类型的表的 MySql 数据库中具有以下值。
1330924788
这个数字是什么意思?如何从这个数字评估天、小时、分钟、秒。我们什么时候可以使用时间戳,为什么?
【问题讨论】:
-
如何读取这个数字1330924788的时间戳
标签: mysql sql-server datetime timestamp
如何读取时间戳值。我在具有时间戳列数据类型的表的 MySql 数据库中具有以下值。
1330924788
这个数字是什么意思?如何从这个数字评估天、小时、分钟、秒。我们什么时候可以使用时间戳,为什么?
【问题讨论】:
标签: mysql sql-server datetime timestamp
这是一个Unix timestamp,表示自 01.01.1970 以来的秒数。
大多数语言在内部以这种格式保存它们的日期和时间信息,并提供方法或类来处理它。
例如,在 PHP 中,您可以使用 date 以任何您想要的方式格式化此类时间戳。在 JavaScript 中使用 Dateobject。
我更喜欢使用这种时间戳而不是 MySQL 格式,因为它使日期/时间的计算更加容易。您只需将两个时间戳相减即可得到它们之间的时间间隔(以秒为单位)。记住60s = 1m、60m = 1h等,你可以很容易地进行Show me everything that is at least [x]m in the past之类的查询。
【讨论】:
时间戳是一系列字符,表示某个事件发生的日期或时间。这是计算机记录事件的时间,而不是事件本身的时间。
但您期望的是 UNIX TIMESTAMP 这是一种将时间跟踪为运行总秒数的方法。这个计数从 1970 年 1 月 1 日的 Unix 纪元开始。因此,unix 时间戳只是特定日期和 Unix 纪元之间的秒数。这对于计算机系统在在线和客户端的动态和分布式应用程序中跟踪和分类过时信息非常有用。
【讨论】:
它是一个unix时间戳 使用 from_unixtime
试试这个查询
SELECT from_unixtime(dateField) FROM tableName;
【讨论】:
由于您也使用了sql-server 标签:
Microsoft SQL Server 也有 timestamp 类型。
但与 MySQL 不同的是,SQL Server 的timestamp 只是一个不包含任何日期或时间信息的序列号。
【讨论】: