【发布时间】:2014-09-02 15:13:48
【问题描述】:
我在 Android 设备上使用 SQLite。
我正在尝试将时间戳转换为儒略日,并通过将结果转换为整数来舍入儒略日。出于某种原因,2456902.0 被四舍五入为 2456901。(我也使用“round”函数得到相同的结果)
我确实需要一种解决方法,但我也想解释一下为什么会发生这种情况,如果有人有的话。
我的代码和结果如下:
cast(julianday((c.ts/1000), 'unixepoch') as int) as day,
julianday((c.ts/1000), 'unixepoch') as jd
当 ts = 1409564846705,jd = 2456902.0,day = 2456901(日期时间为 Mon Sep 01 04:47:26 CDT 2014)
当 ts = 1409631153881,jd = 2456902.8,day = 2456902(日期时间为 Mon Sep 01 23:12:33 CDT 2014)
我正在尝试将时间戳转换为儒略日以按天分组记录,但有些数据落入了错误的日期(如您在上面看到的,如果我按天分组会产生两条记录,但日期是同一天的一部分)。我求助于:strftime('%d', datetime((c.ts/1000), 'unixepoch', 'localtime')) 作为一天。这样做的问题是,如果我查询超过一个月,就会有重复的“月中日”。有没有更好的方法来做到这一点?
【问题讨论】: