我已经以毫秒为单位data+time
保存在数据库(sq lite
)中,现在我想从特定日期的 sq-lite 获取数据,并且我有这种格式的日期“ 2012 年 12 月 26 日”,如何将其与毫秒进行比较。
从数据库中获取数据的查询应该是什么?
我已经以毫秒为单位data+time
保存在数据库(sq lite
)中,现在我想从特定日期的 sq-lite 获取数据,并且我有这种格式的日期“ 2012 年 12 月 26 日”,如何将其与毫秒进行比较。
从数据库中获取数据的查询应该是什么?
您必须将毫秒转换为日期格式,然后比较两个日期
转换为日期格式
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
该类。
说得通?