我使用日历对象来表示日期。我用这种方式设置日历:
Calendar mCalendar = Calendar.getInstance();
mCalendar.add(Calendar.YEAR, 1980);
mCalendar.add(Calendar.MONTH, 1);
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
int daysRange = (2050-1980)*365;
ArrayList<String> allDays = new ArrayList<String>();
SimpleDateFormat mFormat = new SimpleDateFormat("EEE, dd MMM", Locale.US);
for(int i = 0; i < daysRange; i++){
allDays.add(mFormat.format(mCalendar.getTime()));
mCalendar.add(Calendar.DAY_OF_MONTH, 1);
}
现在我想在日历中设置当天。我怎么能这样做?
编辑: 如您所见,我向Arraylist添加日期。日期在2980到2050之间。现在我想从当前日期的数组日期中获取。因此,我需要获取当前数组当天的元素的int数:27.12.2013
答案 0 :(得分:3)
这是一个解决方案,但时间复杂度不是最佳的:
Date date = new Date();
for(int i=0; i<allDays.size();i++) {
if(allDays.get(i).getTimeInMillis() == date.getTime()) {
break;
}
//return i is the index you are searching for.
}