我有一个Sqlite3数据库表,包含姓名,地址,出生日期详情.我想显示1990-01-01到1995-01-01的详细信息.
但Sqlite3数据库仅存储以下数据类型.
TEXT
NUMERIC
INTEGER
REAL
NONE
任何人都有一些提示来存储和检索日期格式数据..?
解决方法:
使用此代码将日期转换为毫秒格式,并将其作为INTEGER类型存储到数据库中
String someDate = "1995-01-01";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(someDate);
System.out.println(date.getTime());
date.getTime() – 给出毫秒格式
以同样的方式转换你的输入(即从1990-01-01到1995-01-01)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(1990-01-01);
value1=date.getTime();
Date date2 = sdf.parse(1995-01-01);
value2=date.getTime();
使用以下查询从数据库中检索
db.rawQuery("SELECT * FROM table_name WHERE column_name BETWEEN "+value1+" AND "+value2+"",null);
or
db.rawQuery("SELECT * FROM table_name WHERE column_name<="+value1+" AND column_name>="+value2+"",null);
标签:java,android,sqlite,sqlite3
来源: https://codeday.me/bug/20190716/1478504.html
|