4

data+timeデータベース ( sq lite) にミリ秒単位で保存しましたが、特定の日付の sq-lite からデータを取得したいと考えています。この形式の日付は " 26-December-2012 " です。これをミリ秒と比較する方法。

データベースからデータを取得するためのクエリは何ですか?

4

3 に答える 3

1

ミリ秒を日付形式に変換してから、2 つの日付を比較する必要があります

日付形式に変換する

        public static String getDate(long milliSeconds, String dateFormat)
{`enter code here`
    // Create a DateFormatter object for displaying date in specified format.
    DateFormat formatter = new SimpleDateFormat(dateFormat);

    // Create a calendar object that will convert the date and time value in milliseconds to date. 
     Calendar calendar = Calendar.getInstance();
     calendar.setTimeInMillis(milliSeconds);
     return formatter.format(calendar.getTime());
}

日付を比較する

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date date1 = curFormater.parse(date1Str); 
Date date2 = curFormater.parse(date2Str); 
if (date1.before(date2)) 
{
}
于 2012-12-08T06:13:30.850 に答える
0

これがお役に立てば幸いです

    public long getDateLong(String dateString, String format) throws ParseException
    {
        SimpleDateFormat f = new SimpleDateFormat(format);

        Date d = f.parse(dateString);

        return d.getTime();
    }

///

     long timeMillis; // Your long time millis
     boolean compare = timeMillis > getDateLong("26-December-2012", "dd-MMMM-yyyy");   
于 2012-12-08T06:14:59.893 に答える
0

Calendarデータベースから timeInMilliseconds データを使用して新しいを作成するだけです。

したがって、という列に時間がdateあり、データが myTable というテーブルにある場合、取得するクエリは次のとおりです。

select date from myTable ... other constraints

Android では、データベースから取得した long 値を使用して、新しい Calendar を作成します。

Calendar cal = new Calendar.getInstance();
cal.setTimeInMillis(timeInMsFromDatabase);

オブジェクトを取得したら、メソッドCalendarで必要な値を取得できます。get(int field)

または、DateFormatクラスを使用できます。

わかる?

于 2012-12-08T06:02:58.687 に答える