日期/时间存储为浮点数,使用哪种算法?

时间:2010-06-30 18:52:10

标签: language-agnostic datetime floating-point

我可以访问第三方应用程序的数据库,我看到一个名为“date”的字段,它将日期/时间值存储为浮点数,但我不确定这个浮点数是如何映射到a约会时间。该数据库没有文档。

以下是一些示例数据:

date-field        actual-date-time
253507382.168744  1/12/09 6:43 PM PST
253507480.136126  1/12/09 6:44 PM PST
253508091.838982  1/12/09 6:54 PM PST
256703604.015055  2/18/09 6:33 PM PST
256704413.484674  2/18/09 6:46 PM PST

注意:我必须手动输入这些值,因此它们可能会略微偏离。如果您想查看更多数据,请告诉我,我会添加更多数据。

我希望有人熟悉以这种格式存储日期,并且可以让我知道如何获得给定浮点数的日期/时间。

3 个答案:

答案 0 :(得分:2)

如果您查看10和13分钟间隔内数字的变化,您会发现它大约为60.因此我得出结论,它是基准日期的秒数。

我认为基准日期是1/1/2000或1/1/2001。

编辑:基准日期似乎是1/1/2001,时间似乎也在调整 - 它可能是UTC,并且添加了本地时间偏移量。

答案 1 :(得分:1)

如果您减去这两个点中的任何一个,您将看到这些值代表秒数,精确度为微秒。应该很容易计算时钟“开始”的基准日期。在Unix和相关系统上,这是1970年1月1日。

答案 2 :(得分:0)

时间戳是'自2001年1月1日00:00起经过的秒数'。它不是一种常见的日期格式,但至少它应该很容易使用现在你知道它代表什么!