zoukankan      html  css  js  c++  java
  • java获得当前日期是今年的第几周,以及这周的开始日期的方法

    直接上代码,备份使用        
    时间戳,长整型存储
                long startTime1 = 1530613938532l;
                Calendar calendar = Calendar.getInstance();
                calendar.setFirstDayOfWeek(Calendar.MONDAY);//设置星期一为一周开始的第一天
                calendar.setMinimalDaysInFirstWeek(4);//可以不用设置
                calendar.setTimeInMillis(System.currentTimeMillis());//获得当前的时间戳
                int weekYear = calendar.get(Calendar.YEAR);//获得当前的年
                int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//获得当前日期属于今年的第几周
                
                System.out.println("第几周:"+weekOfYear);
                calendar.setWeekDate(weekYear, weekOfYear, 2);//获得指定年的第几周的开始日期
                long starttime = calendar.getTime().getTime();//创建日期的时间该周的第一天,
                calendar.setWeekDate(weekYear, weekOfYear, 1);//获得指定年的第几周的结束日期
                long endtime = calendar.getTime().getTime();
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                String dateStart = simpleDateFormat.format(starttime);//将时间戳格式化为指定格式
                String dateEnd = simpleDateFormat.format(endtime);
                System.out.println(dateStart);
                System.out.println(dateEnd);
     
     
    这个获取第几周的方法在跨年周上会出现问题
    上面这种方式用来获取指定日期的周开始日期和结束日期是可以的,用来判断当前日期属于第几周则不行
    参考资料:一年有几周 https://zhidao.baidu.com/question/490464213.html
     
    在中华人民共和国,包含1月4日的那个星期为当年的第一个星期
    链接:https://www.zhihu.com/question/33649214/answer/129104583
    依据:
    根据中华人民共和国国家标准GB/T 7408-2005《数据元和交换格式信息交换日期和时间表示法》中4.3.3.2部分:
    即一年中的第一个 日历星期包括该年的第一个星期四,并且日历年的最后一个日历星期就是在下一个日历年的第一个日历星期之前的那个星期,日历星期数是其在该年中的顺序。
    以及其注释:
    注 4:确定第1个日历星期的规则与规则“第一个 日历星期包含1月4日的星期”是等同的。
  • 相关阅读:
    多个DataTable的合并成一个新表
    into #临时表的用法
    触发器获取更新前的数据
    C# 多个CSV文件合并成一个文件
    group by 字段名 with ROLLUP
    删除DataTable重复列,只针对删除其中的一列重复的行(转)
    动态注册jS
    JS 验证
    导出Excel
    C# 导入多个工作薄文件
  • 原文地址:https://www.cnblogs.com/gne-hwz/p/9325415.html
Copyright © 2011-2022 走看看