程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Java 和 SQLite 之间的时间戳差异

发布于2021-10-15 18:10     阅读(934)     评论(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黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)