我想检查当前日期是否与某个定义的日期间隔相等(或包含)。我有这样的事情:
Calendar c1 = Calendar.getInstance();
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
Date lowerBound = null;
Date upperBound = null;
try {
lowerBound = sdf1.parse("29-10-2013");
upperBound = sdf1.parse("30-12-2013");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TextView txtdate1 = (TextView) findViewById(R.id.textView1);
if (c1.getTime().before(upperBound) && c1.getTime().after(lowerBound)) {
txtdate1.setText("Is up to date");
} else {
txtdate1.setText("Is not up to date");
}
答案 0 :(得分:0)
您可以使用before
和after
功能来检查您的日期是否在某个范围内。
Calendar c1 = Calendar.getInstance();
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
Date lowerBound = sdf1.parse("20-10-2013");
Date upperBound = sdf1.parse("30-12-2013");
TextView txtdate1 = (TextView) findViewById(R.id.textView1);
if (c1.getTime().before(upperBound) && c1.getTime().after(lowerBound)) {
txtdate1.setText("Is up to date");
} else {
txtdate1.setText("Is not up to date");
}
很酷的是,您可以定义一些函数,通过创建预定义函数来检查数据是否在某个定义的范围内。例如,请参阅this。
答案 1 :(得分:0)
不要使用字符串表示。而是使用Calendar
对象在之前和之后执行。
Calendar c1 = Calendar.getInstance();
Calendar min = \\ create your min calendar
Calendar max = \\ create your max calendar.
if ( c1.after(min) && c1.before(max) ) {