账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Android 5.0前后使用Calendar中方法的区别
    75
    0

    我的需求:根据年份,和周数获取指定周数的周一和周日的日期。

    public static String getWeek(String year, String num) {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.YEAR, Integer.parseInt(year));
            int value = Integer.parseInt(num);
            cal.set(Calendar.WEEK_OF_YEAR, value);
            // 1表示周日,2表示周一,7表示周六
            cal.set(Calendar.DAY_OF_WEEK, 2);
            Date date = cal.getTime();
           // 设置为2016年的第10周
            value += 1;
            cal.set(Calendar.WEEK_OF_YEAR, value);
           // 1表示周日,2表示周一,7表示周六
            cal.set(Calendar.DAY_OF_WEEK, 1);
            Date date1 = cal.getTime();
            return date2Month(date) + "/" + date2Date(date) + "~" + date2Month(date1) + "/" + date2Date(date1);
        }

    当我手机是Android 5.0以上的手机传入getWeek(2018,24)两个值时,得到的结果是6.11-6.17,是我想要的结果。
    但是当手机是Android 5.0以下时,传入相同的值,得到的结果是6.11-6.10。
    也就是说代码中的

     value += 1;
      cal.set(Calendar.WEEK_OF_YEAR, value); 

    这两句代码没有起作用,我是想要把周数增加1的,但是在Android 5.0以下却没有成功。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 一笑脸就大。 普通会员 1楼

      在Android 5.0及以上版本的系统中,Calendar类提供了更高级的日期和时间处理功能。以下是使用Calendar中方法的主要区别:

      1. getDayOfWeek():这个方法返回的是指定日期的星期几。在Android 5.0及以上版本中,这个方法已经被废弃,并且在最新的Android版本中被移除。

      2. get(Calendar.DAY_OF_WEEK):这个方法返回的是指定日期的周几。这个方法在Android 5.0及以上版本中被废弃,并且在最新的Android版本中被移除。

      3. get(Calendar.HOUR_OF_DAY):这个方法返回的是指定小时的分钟数。这个方法在Android 5.0及以上版本中被废弃,并且在最新的Android版本中被移除。

      4. get(Calendar.MINUTE):这个方法返回的是指定分钟数。这个方法在Android 5.0及以上版本中被废弃,并且在最新的Android版本中被移除。

      5. get(Calendar.SECOND):这个方法返回的是指定秒数。这个方法在Android 5.0及以上版本中被废弃,并且在最新的Android版本中被移除。

      6. get(Calendar.MILLISECOND):这个方法返回的是指定毫秒数。这个方法在Android 5.0及以上版本中被废弃,并且在最新的Android版本中被移除。

      7. get(Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND):这个方法返回的是指定日期和时间的各个部分。这个方法在Android 5.0及以上版本中被废弃,并且在最新的Android版本中被移除。

      注意:在Android 5.0及以上版本中,你可以直接使用Calendar类的new Date()方法来创建一个日期和时间对象,而不是使用 Calendar类的方法。例如:Date date = Calendar.getInstance();

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部