Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
疯狂的日期时间值在SQLite中存储为奇怪的浮点数_Sql_Sqlite_Datetime_Types_Puzzle - Fatal编程技术网

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

疯狂的日期时间值在SQLite中存储为奇怪的浮点数,sql,sqlite,datetime,types,puzzle,Sql,Sqlite,Datetime,Types,Puzzle,好吧,我不指望任何人能弄明白这一点,但也许我太悲观了 我正在阅读由很棒的音乐播放器生成的SQLite数据库,但它使用了一些不可靠的东西来存储歌曲播放、添加等的日期 这是桌子。如果需要,我可以提供更多。你能破解这个密码吗 English | Stored As ------------------------------+----------------- Date 2011.02.24 14:21:54 | 40598.598561

好吧,我不指望任何人能弄明白这一点,但也许我太悲观了

我正在阅读由很棒的音乐播放器生成的SQLite数据库,但它使用了一些不可靠的东西来存储歌曲播放、添加等的日期

这是桌子。如果需要,我可以提供更多。你能破解这个密码吗

          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日期时间转换为年代的PHP函数:

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

持续时间为毫秒


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

实际上是自1900-01-01起的天数。这就是Microsoft Excel和其他一些产品管理日期/时间的方式。哇!你怎么知道的?!只需在PostgreSQL中运行此命令:
选择“2011.02.24 14:21:54”::时间戳-间隔“40598.59天”
,它几乎准确地给出了1900年1月1日的
就是这样!!!我很高兴你们俩都知道这些琐事,并且很快就把它告诉了我!我其实不知道这件事。但我喜欢这样的谜题:-)当我查询数据库中的日期时间时,我会返回“41222.663348912”。我希望向用户显示相当于“2012-11-09 15:55:12”的英文日期。但我不知道该怎么做才能实现这一转变。