获得过去的几周日期



我尝试了一下,但没有得到我所需的格式。

 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月星期三 2017年12月星期二 2017年12月4日星期一 星期日03年12月 2017年2月2日星期六 2017年至2017年1月1日 星期四30-NOV-2017

我想要这样的格式,开始一周和结束日期的日期。

10月1日至7日10月8日至14日10月15日至21日

尝试此代码,

 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+"<<<" );
        }

最新更新