zoukankan      html  css  js  c++  java
  • Calendar.get()方法--- WEEK_OF_YEAR 、MONTH、

    1. WEEK_OF_YEAR   一年中的第几周

    由于西方的一周指的是:星期日-星期六,星期日是一周的第一天,星期六是一周的最后一天,

    所以,使用 calendar.get(Calendar.WEEK_OF_YEAR) 时应该注意一周的开始应该是哪一天

    如果一周的开始是星期一,那么可以进行如下操作:

            Calendar calendar=Calendar.getInstance();
            calendar.set(2016,9,9);              //2016-10-09  这一天是星期日
            long week1=calendar.get(Calendar.WEEK_OF_YEAR);
            calendar.setFirstDayOfWeek(Calendar.MONDAY);         //设置一周的第一天是星期几
            calendar.set(2016,9,9);          / /   一定要在calendar.setFirstDayOfWeek();方法后重新设置一遍日期,否则无效
            long week2=calendar.get(Calendar.WEEK_OF_YEAR);
    

    注意:一年有52个周,calendar.get(Calendar.WEEK_OF_YEAR);的取值范围是:“1-52”,所以当一年中最后的几天超过52周,进入第53周时,将以下一年的第一周来计算

    (跨年问题:跨年的那个星期获取 “WEEK_OF_YEAR” 得到的结果总是“1”,

            calendar.setFirstDayOfWeek(Calendar.MONDAY);
            calendar.set(2016,11,31);             //2016-12-31
            long week=calendar.get(Calendar.WEEK_OF_YEAR);       //week= 1
    

    2016-12-31 通过计算得到:1

     2. MONTH  月份

    也是因为西方文化的原因,一年的第一个月是从“0”开始算起的,一年中12个月份分别是:“0-11”,12指的是下一年的一月份

            calendar.set(2016,12,9);
            SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
            String date=format.format(calendar.getTime());
    获得的结果是:2017-01-09

     所以    为 calendar 设置“月份(MONTH)”时需要 “-1”

               通过 calendar 获取“月份(month)”时需要 “+1”

    3.DAY_OF_WEEK  星期几

             String[] weeks = new String[]{"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};           
    int index=calendar.get(Calendar.DAY_OF_WEEK);
    String weekDay=weeks[index-1];

     返回的是周几,取值为“1-7”  指的是  “星期日-星期六”,所以获取星期几时需要 “-1”

    (这个值跟一周的第一天是星期几无关)

     4. SET() 方法

    set(Calendar.DAY_OF_WEEK,Calendar.MONDAY):设置日期(calendar)为日期所在周的周一的日期(可以获取日期所在周的周一的日期)

            calendar.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
            String date=format.format(cal.getTime());
    
  • 相关阅读:
    C# Sleep延时方法
    浅谈模糊测试
    python time模块常用方法小结
    Markdown使用小结
    关于测试用例设计、评审及用例质量评估的思考
    关于评估软件产品质量的思考
    关于软件测试工程师进阶提升的思考
    关于软件测试中回归测试的思考
    测试技术的思考 ---- 读《微软的软件测试之道》有感系列
    vue-learning:22
  • 原文地址:https://www.cnblogs.com/zhy7104/p/5946347.html
Copyright © 2011-2022 走看看