data+time
データベース ( sq lite
) にミリ秒単位で保存しましたが、特定の日付の sq-lite からデータを取得したいと考えています。この形式の日付は " 26-December-2012 " です。これをミリ秒と比較する方法。
データベースからデータを取得するためのクエリは何ですか?
data+time
データベース ( sq lite
) にミリ秒単位で保存しましたが、特定の日付の sq-lite からデータを取得したいと考えています。この形式の日付は " 26-December-2012 " です。これをミリ秒と比較する方法。
データベースからデータを取得するためのクエリは何ですか?
ミリ秒を日付形式に変換してから、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))
{
}
これがお役に立てば幸いです
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");
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
クラスを使用できます。
わかる?