疯狂的日期时间值存储为SQLite中的怪异浮点数

时间:2012-11-13 04:39:30

标签: sql sqlite datetime types puzzle

好吧,我不是指望任何人能够解决这个问题,但也许我太悲观了?

我正在阅读由真棒音乐播放器AIMPv3生成的SQLite数据库,但它使用 wonky 来存储播放,添加等歌曲的日期。

所以这是桌子。如果需要,我可以提供更多。你能破解这段代码吗?!

          English             |      Stored As
------------------------------+-----------------
Date      2011.02.24 14:21:54 | 40598.5985614005
------------------------------+------------------
Date      2011.02.24 14:22:38 | 40598.5990576852
------------------------------+------------------
Date      2011.04.28 08:56:30 | 40661.3725871875
------------------------------+------------------
Date      2011.04.28 09:02:06 | 40661.3764806134
------------------------------+------------------
Date      2012.11.09 15:55:12 | 41222.663348912
------------------------------+------------------

对此问题的任何帮助都非常非常感谢!我也有一个高度多样化的数据集合,所以不要犹豫,要求提供额外的测试数据。


编辑:以下是我用来将Excel日期时间转换为Epochs的PHP函数:

function convertFromExcelDateTimeToEpoch($excelDateTime)
{
    $d = floor($excelDateTime);
    $t = $excelDateTime - $d;
    return (abs($d) > 0) ? ( $d - 25569 ) * 86400 + $t * 86400 : $t * 86400;
}

1 个答案:

答案 0 :(得分:3)

持续时间是毫秒。

日期是自1900年1月1日以来的(分数)天数。