Rad*_*lav 2 java sqlite time android unix-timestamp
你好我和SLQLite数据库,其中我有表water_logs
CREATE TABLE water_logs(
_id INTEGER PRIMARY KEY AUTOINCREMENT,
amount REAL NOT NULL,
icon INTEGER NOT NULL,
date INTEGER NOT NULL);
Run Code Online (Sandbox Code Playgroud)
我以毫秒为单位存储日期.
Calendar cal = Calendar.getInstance();
cal.getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)
我的问题是我想使用strftime函数从我的日期列中获取这一天.问题是tjat java日历时间戳与SLQLite时间戳不同
1436859563832 --> result from cal.getTimeInMillis();
1436607407--> SELECT strftime('%s','now')
Run Code Online (Sandbox Code Playgroud)
我实际上要做的是按天分组记录.如果在日期列中粘贴SELECT strftime('%s','now')的值,则以下SQL查询可以正常工作
SELECT SUM(amount), date(`date`) FROM water_logs
GROUP BY date(`date`, 'unixepoch')
Run Code Online (Sandbox Code Playgroud)



在我看来,您使用的是2种不同的值类型.
当你使用
Calendar cal = Calendar.getInstance();
long time = cal.getTimeInMillis();
Run Code Online (Sandbox Code Playgroud)
输出值是毫秒,如所描述这里.
当你使用时
strftime('%s','now')
Run Code Online (Sandbox Code Playgroud)
输出值是秒,如所描述这里.
因此,这可能是导致两个值不匹配的原因.当然,以秒为单位的值可能会经历一些舍入,这可能会稍微改变其值.
| 归档时间: |
|
| 查看次数: |
740 次 |
| 最近记录: |