【问题标题】:How to get next seven days in android?如何在android中获得下一个7天?
【发布时间】:2015-10-18 14:25:57
【问题描述】:

在我的应用中,我需要从当天起接下来的 7 天。 我尝试了以下解决方案,但它跳过了几天。

Calendar calendar = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
for (int i = 0; i < 7; i++) {
    calendar.add(Calendar.DATE, i);
    String day = sdf.format(calendar.getTime());
    Log.i(TAG, day);
}

我得到以下输出:

Sunday 18-Oct-2015
Monday 19-Oct-2015
Wednesday 21-Oct-2015
Saturday 24-Oct-2015
Wednesday 28-Oct-2015
Monday 02-Nov-2015
Sunday 08-Nov-2015

我还尝试了Calendar.DAY_OF_WEEKCalendar.DAY_OF_MONTHCalendar.DAY_OF_YEAR 而不是Calendar.DATE,但得到了相同的输出。

【问题讨论】:

    标签: java android date calendar simpledateformat


    【解决方案1】:

    试试这个:

    SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd-MMM-yyyy");
    for (int i = 0; i < 7; i++) {
        Calendar calendar = new GregorianCalendar();
        calendar.add(Calendar.DATE, i);
        String day = sdf.format(calendar.getTime());
        Log.i(TAG, day);
    }
    

    您有一个日历实例,正在向其中添加 1、2、3、4、5、6 和 7 天而不重置它。上述解决方案将对象创建移动到循环内。

    【讨论】:

      【解决方案2】:

      使用 java 8+ 找到了一种最简单的方法

      加日

        final LocalDate date = LocalDate.now();
        final LocalDate plusDays = date.plusDays(7); 
        //if you want to show past 7 days, change to data.minusDays(7);
        final String formattedDate = plusDays.format(DateTimeFormatter.ofPattern("MM/dd/yyyy")); // show is this format 09/30/2020
        System.out.println(formattedDate);  //09/30/2020
      

      减天数

        final LocalDate date = LocalDate.now();
        final LocalDate minusDays = date.minusDays(7); 
        final String formattedDate = minusDays.format(DateTimeFormatter.ofPattern("MM/dd/yyyy")); 
        System.out.println(formattedDate); 
      

      dateTimeFormat里面有很多特性,参考 https://howtodoinjava.com/java/date-time/java8-datetimeformatter-example/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-16
        • 2012-04-19
        • 1970-01-01
        相关资源
        最近更新 更多