這是給你的好榜樣,因爲它表明你想正確的日期:01 - 07 Jan
8 - 15 Jan
...等...通過按下退按鈕&前進按鈕相對。
p/s:請根據需要編輯日期格式。
public static String getLastWeek(Calendar mCalendar) {
// Monday
mCalendar.add(Calendar.DAY_OF_YEAR, -13);
Date mDateMonday = mCalendar.getTime();
// Sunday
mCalendar.add(Calendar.DAY_OF_YEAR, 6);
Date mDateSunday = mCalendar.getTime();
// Date format
String strDateFormat = "dd MMM";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
String MONDAY = sdf.format(mDateMonday);
String SUNDAY = sdf.format(mDateSunday);
// Substring
if ((MONDAY.substring(3, 6)).equals(SUNDAY.substring(3, 6))) {
MONDAY = MONDAY.substring(0, 2);
}
return MONDAY + " - " + SUNDAY;
}
public static String getCurrentWeek(Calendar mCalendar) {
Date date = new Date();
mCalendar.setTime(date);
// 1 = Sunday, 2 = Monday, etc.
int day_of_week = mCalendar.get(Calendar.DAY_OF_WEEK);
int monday_offset;
if (day_of_week == 1) {
monday_offset = -6;
} else
monday_offset = (2 - day_of_week); // need to minus back
mCalendar.add(Calendar.DAY_OF_YEAR, monday_offset);
Date mDateMonday = mCalendar.getTime();
// return 6 the next days of current day (object cal save current day)
mCalendar.add(Calendar.DAY_OF_YEAR, 6);
Date mDateSunday = mCalendar.getTime();
//Get format date
String strDateFormat = "dd MMM";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
String MONDAY = sdf.format(mDateMonday);
String SUNDAY = sdf.format(mDateSunday);
// Sub String
if ((MONDAY.substring(3, 6)).equals(SUNDAY.substring(3, 6))) {
MONDAY = MONDAY.substring(0, 2);
}
return MONDAY + " - " + SUNDAY;
}
public static String getNextWeek(Calendar mCalendar) {
// Monday
mCalendar.add(Calendar.DAY_OF_YEAR, 1);
Date mDateMonday = mCalendar.getTime();
// Sunday
mCalendar.add(Calendar.DAY_OF_YEAR, 6);
Date Week_Sunday_Date = mCalendar.getTime();
// Date format
String strDateFormat = "dd MMM";
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
String MONDAY = sdf.format(mDateMonday);
String SUNDAY = sdf.format(Week_Sunday_Date);
// Sub string
if ((MONDAY.substring(3, 6)).equals(SUNDAY.substring(3, 6))) {
MONDAY = MONDAY.substring(0, 2);
}
return MONDAY + " - " + SUNDAY;
}
你試過c.set(Calendar.DAY_OF_WEEK,1)嗎? – njzk2
工作感謝:) – SimoneB
你能否請詳細提及解決方案..我被困在相同的 – AndroidGuy