我试试这个,但没有得到我要求的格式。
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
for (int i = 7; i >=1; i--) {
Calendar calendar = new GregorianCalendar();
calendar.add(Calendar.DATE, i);
String day = sdf.format(calendar.getTime());
Log.i("days", day);
2017年12月6日星期三 2017年12月5日星期二 2017年12月4日星期一 2017年12月3日星期日 2017年12月2日星期六 2017年12月1日星期五 2017年11月30日星期四
我想要这样的格式,开始星期和星期结束日期。
10月1日至7日10月8日至14日10月15日至21日
答案 0 :(得分:2)
试试这段代码,
public static void getWeeksOfMonth(int month, int year)
{
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, 1);
int ndays = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(ndays+"<<<ff" );
for (int i = 1; i <= ndays; i++)
{
String day = sdf.format(cal.getTime());
System.out.println(day+"<<<" );
Log.e("", day+"<<<");
if(i % 7 == 0){
Log.e("", "=======week days===========");
}
cal.add(Calendar.DATE, 1);
}
}
// only previous week days get
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
for (int i = 7; i >=1; i--) {
Calendar calendar = new GregorianCalendar();
calendar.add(Calendar.DATE, -i);
String day = sdf.format(calendar.getTime());
System.out.println(day+"<<<" );
}