首页 > 解决方案 > 比较 java Date 和 SQLite Datetime

问题描述

我想比较两个日期,即今天的日期和我的数据添加到数据库的日期。我可以将我Date的 toStringStringto转换为Date,但在我的数据库中,“日期”列的类型是DATETIME。(我正在使用 SQLite)我如何比较这两个日期?

我的目标是每天只在数据库中添加 1 行

我 atteched 一些示例代码:

if(currentDate.equals(dateAdded))
//some warning...
else
applyNewDataToDB();

谢谢,任何答案将不胜感激

标签: sqlitedatetime

解决方案


在 SQLite 中,所有本机时间戳都是日期/时间值 - 但使用格式化函数,您可以只过滤掉时间,或只过滤日期,或两者兼而有之:参见https://www.sqlite.org/datatype3.html结合https: //www.sqlite.org/lang_datefunc.html

使用以下表格布局:

CREATE TABLE myTable (ID INTEGER primary key, theData VARCHAR(4), theDatetime REAL) ;

查询:

SELECT ID, theData 
FROM myTable 
WHERE strftime('%Y-%m-%d', theDatetime,'unixepoch') >="2019-11-04" ;

相当于:

SELECT ID, theData 
FROM myTable 
WHERE theDatetime >= 1572853740.0 ;

推荐阅读