一定要看到最后

在android中System.currentTimeMillis()获取的数据保存在sqlite后按日期查询时如果按以下写法

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

select id,recordtext,addTime,DATEtime(addtime, 'unixepoch') from tbname

查询的结果是这样的:

Android中的System.currentTimeMillis()数据保存在Sqlite中后的查询问题 Nosql 第1张

 

 查询后发现SQLITE支持的日期格式:

SQLite 支持以下五个日期和时间函数:

 

序号 函数 实例
1 date(timestring, modifier, modifier, ...) 以 YYYY-MM-DD 格式返回日期。
2 time(timestring, modifier, modifier, ...) 以 HH:MM:SS 格式返回时间。
3 datetime(timestring, modifier, modifier, ...) 以 YYYY-MM-DD HH:MM:SS 格式返回。
4 julianday(timestring, modifier, modifier, ...) 这将返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数。
5 strftime(format, timestring, modifier, modifier, ...) 这将根据第一个参数指定的格式字符串返回格式化的日期。具体格式见下边讲解。

 这个和我们用到的无关,我们是从JAVA的System.currentTimeMillis()中得到的,经过分析上面的示例发现只要把我们的数据除以1000就可以被Sqlite正常转换了,代码如下

 

select id,addTime,DATEtime(addTime/1000, 'unixepoch') from soundrecord

执行后结果就是:

Android中的System.currentTimeMillis()数据保存在Sqlite中后的查询问题 Nosql 第2张

 

 运行正常!

希望能帮到朋友们!

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄