获取一周的开始和结束日期

时间:2018-04-25 06:00:02

标签: android android-calendar dayofweek

实际上我想显示一组数据,其中包含特定日期所在的一周的开始和结束日期。在我的模拟器中它的工作正常。例如。如果我给4月23日它给我的一周的开始日期为4月22日,结束日期为4月28日,但如果我尝试在我的设备中构建相同的代码,它显示的一周开始日期为4月27日,结束日期为28 4月

我正在使用的一段代码:

      //to get first day of week
                    cal1.set(Calendar.DAY_OF_WEEK, 1);
                    int day1 = cal1.get(Calendar.DAY_OF_MONTH);

     //to get last day of week
                    cal1.set(Calendar.DAY_OF_WEEK, 7);
                    int day7 = cal1.get(Calendar.DAY_OF_MONTH);

2 个答案:

答案 0 :(得分:0)

我不知道你为何获得这些数据,但这就是我获取第一个和最后一个日期的方式,看看可能有所帮助。 (它写的是给当前一周的第一个和最后一个日期,所以可能不得不稍微调整一下。)

日历日历= Calendar.getInstance();

bufferedImage2

答案 1 :(得分:0)

要获得一周的第一天 -

  1. 根据您的需要初始化日历。在这种情况下,我得到当前日期日历。
  2. 将当前星期几设置为一周的第一天。
  3. 获取相应日期

    from django.template.defaulttags import register
    ...
    @register.filter
    def get_item(dictionary, key):
        return dictionary.get(key)
    
  4. 获取一周的最后日期 -

    1. 按照上述步骤进行初始化。
    2. 将星期几设为星期六。
    3. 获取相应的日期。

      Calendar calendar = Calendar.getInstance();
      //optional step
      calendar.setFirstDayOfWeek(Calendar.SUNDAY);
      calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
      int firstDateOfWeek = calendar.get(Calendar.DATE);
      
    4. 通过这种方式,您可以获得第一个和本周的最后一个日期。有一点需要记住,我已将本周的第一天定为SUNDAY。根据您的需要设置。虽然设置一周的第一天是完全可选的。这使您的代码更加透明。