将当前系统日期与android数据库中存储的datetime类型的日期进行比较
我创建了一个表,其中包含一个日期字段(键入datetime),默认为当前日期,当用户插入数据时,此时间自动设置,我想将当前系统日期与此字段进行比较,我该怎么办将当前系统日期与android数据库中存储的datetime类型的日期进行比较,android,database,date,time,Android,Database,Date,Time,我创建了一个表,其中包含一个日期字段(键入datetime),默认为当前日期,当用户插入数据时,此时间自动设置,我想将当前系统日期与此字段进行比较,我该怎么办 public static long s; String query = "SELECT Cart_Date from Tbl_Cart where Cart_ID="+lastId+" "; Cursor c = db.rawQuery(query, null); if (c != nul
public static long s;
String query = "SELECT Cart_Date from Tbl_Cart where Cart_ID="+lastId+" ";
Cursor c = db.rawQuery(query, null);
if (c != null && c.moveToFirst() ) {
s = c.getLong(0);
}
if( System.getTimeInMillis()!=s)
{
..
}
这是我的代码,但不起作用。首先,问题的作者的意思是: 他正在数据库中存储epoch的ms,需要将对应于该值的日历日期与当前日期进行比较 要解决此问题,我建议使用以下代码:
// get current date
final Calendar rightNow = Calendar.getInstance();
final Calendar dateFromDB = Calendar.getInstance();
dateFromDB.setTimeInMillis(s);
现在,您可以使用比较rightNows和DateFromDB year、month和day字段
还有另一种可能的实现——编写自己的函数,将ms转换为days(例如使用)
此外,您应该记住以下几点:以DB为单位的时间和当前时间可能有不同的时区,因此您可能需要对此进行额外的更正 我找到了
String query = "SELECT Cart_Date from Tbl_Cart where Cart_ID="+lastId+" ";
Cursor c = db.rawQuery(query, null);
if (c != null && c.moveToFirst() ) {
s = c.getLong(0);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = new java.util.Date();
String datetime = dateFormat.format(date);
if(!(datetime.equals(s)))
{
}
你需要展示的不仅仅是这些。if(System.getTimeInMillis()!=s)将始终为真,除非您非常努力地做一些非常奇怪的事情。哪个部分“不起作用”?line if(System.getTimeInMillis()!=s)始终为真!!!!!