我有一个日期对象,如下面的代码。
WebViewAppApplication
我想检查smsDate是今天还是另一天。如果smsDate是今天,那么我想只检索时间。如果smsDate是另一天<我想只检索日期和月份。我怎样才能做到这一点 ?
答案 0 :(得分:2)
long millis = smsInboxCursor.getLong(smsInboxCursor
.getColumnIndexOrThrow("date"));
Date date = new Date(millis);
Calendar c = Calendar.getInstance();
// set the calendar to start of today
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
// and get that as a Date
Date today = c.getTime();
String smsDate;
if (date.before(today)) {
smsDate = (String) DateFormat.format(
" MMMM dd ", new Date(millis));
} else {
smsDate = (String) DateFormat.format(
" h:mm ", new Date(millis));
}
答案 1 :(得分:1)
创建一个新的Date对象,将其截断为仅限日期,并将其与您已有的对象进行比较。如果日期相同,请使用SimpleDateFormat类来获取时间并使用它。
编辑:
将日期对象与实际日期进行比较,您可以这样做:
//Format to compare, you want to check the Date only i guess?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateSms = new Date(millis);
Date dateToday = new Date();
String smsDateYYYYMMDD = sdf.format(dateSms);
String dateYYYYMMDD = sdf.format(dateToday);
你现在可以比较这两个字符串,或者你改为 "日期checkDate = sdf.parse(DateString)"比较日期对象
稍微玩一下,你就会习惯快速