今天如何检查日期对象在Android中

时间:2015-09-20 11:34:45

标签: android date

我有一个日期对象,如下面的代码。

WebViewAppApplication

我想检查smsDate是今天还是另一天。如果smsDate是今天,那么我想只检索时间。如果smsDate是另一天<我想只检索日期和月份。我怎样才能做到这一点 ?

2 个答案:

答案 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)"比较日期对象

稍微玩一下,你就会习惯快速