将当前系统日期和时间与存储在android中的数据和时基中的日期进行比较

时间:2012-11-06 10:45:46

标签: android database date time

如何将当前系统时间与存储在android数据库中的时间进行比较? 我使用这段代码:

 public static long s ;
.
.
.
.

Time now = new Time();
 now.setToNow();
String query = "SELECT Cart_ID,Cart_Date from Tbl_Cart where Cart_ID="+lastId+" ";
         // String queryt = "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(s==now.setToNow())
{
...
}

3 个答案:

答案 0 :(得分:0)

如果你的存储时间是毫秒,那么你可以与System.currentTimeMillis()进行比较。 此外,您可以仔细考虑与'=='进行比较。因为长时间变化如此之快,很难与系统时间匹配。您可以更好地寻找更少/更大或相等的时间框架。

答案 1 :(得分:0)

此代码仅适用于您可以同时执行相同操作的数据。     SimpleDateFormat dateFormat = new SimpleDateFormat(“MM-dd-yyyy”);

    CalCurrentDate = Calendar.getInstance();
            // that will pass cureent date .
    Current_Date = dateFormat.format(CalCurrentDate.getTime());         

获取日期&数据库使用SQL查询的时间:

Current_Date:当前数据并通过此Query进行比较。

selectQuery = "SELECT  * FROM MY_TABLE WHERE `Date`>='"+Current_Date+"'";

现在您可以将此查询作为 rawQuery()运行。

答案 2 :(得分:0)

它取决于您如何在数据库中存储数据时间。

如果您存储类似日期时间,那么您可以将单个对象放入日历中,然后将其与System.currentTimeMillis()进行比较;

e.g:

  Calendar start_time = new GregorianCalendar();
  start_time.set(Calendar.HOUR_OF_DAY, sHour);
  start_time.set(Calendar.MINUTE, sMinute);

然后将其与系统时间比较

If(start_time.getTimeInMillis()< = System.currentTimeMillis())

OR

如果您将日期时间存储在Millis甲酸盐中,那么您可以直接比较它。

e.g:

if(yourTimes< = System.currentTimeMillis())

希望它会对你有所帮助。