发布于2021-10-15 18:10 阅读(935) 评论(0) 点赞(30) 收藏(4)
你好,我有 SLQLite 数据库,其中有表 water_logs
CREATE TABLE water_logs(
_id INTEGER PRIMARY KEY AUTOINCREMENT,
amount REAL NOT NULL,
icon INTEGER NOT NULL,
date INTEGER NOT NULL);
我以毫秒为单位存储日期。
Calendar cal = Calendar.getInstance();
cal.getTimeInMillis();
我的问题是我想使用strftime
函数从我的日期列中获取日期。问题是 tjat java 日历时间戳与 SLQLite 时间戳不同
1436859563832 --> result from cal.getTimeInMillis();
1436607407--> SELECT strftime('%s','now')
我真正想做的是按天对记录进行分组。如果 SELECT strftime('%s','now') 的值粘贴在日期列中,则以下 SQL 查询工作正常
SELECT SUM(amount), date(`date`) FROM water_logs
GROUP BY date(`date`, 'unixepoch')
在我看来,您正在使用 2 种不同的值类型。
当你使用
Calendar cal = Calendar.getInstance();
long time = cal.getTimeInMillis();
输出值是毫秒,如所描述这里。
当你使用
strftime('%s','now')
输出值是秒,如所描述这里。
因此,这可能是两个值之间不匹配的原因。当然,以秒为单位的值可能会进行一些舍入,这可能会稍微改变其值。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/302928/0c49e448e448f942da12/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!