SQlite源码分析

date.c模块源码分析

申明:该模块由于没有包含太多的理论体系,运用最多的就是时间转换的数学公式,该部分超出本门课程的范围没有详细论述。

该模块主要涉及时间的处理SQLite处理所有的时间和日期都是作为Julian Day numbers。中文翻译为 儒略日数,时间和日期被存储为根据罗马日历B.C4714年12.24开始所经过的天数。例如1970-01-01 00:00:00:被表示为JD 2440587.5 :2000-01-01 00:00:00被表示为 2451544.5,年份被表示为4为数字,这就限制的表示范围为0000-01-01到9999-12-31而儒略日就可以表示为范围更加广泛的日期。罗马时间可以用于表达所有的日期和时间,历史学家经常用儒略日表示1582-10-15以前和以后的事件,注意区分,几种时间格式的相互转换由于脱离了源码阅读的范围有兴趣的读者可以参考Jean MeeusJean Astronomical Algorithms, 2nd Edition, 1998。