很简单:2015年12月27日是2016年第1周的第1天(而2026年12月27日是2027年第1周的第1天)。可以通过添加以下行来验证:
SimpleDateFormat odf = new SimpleDateFormat("YYYY-ww-u");System.out.println(odf.format(d1));System.out.println(odf.format(d2));System.out.println(odf.format(d3));
如果
SimpleDateFormat输出日期,则它可以使用所有字段:年,月,日,周几,月中的某周,年中的某周,周年等。
解析时,
SimpleDateFormat需要一组匹配的值:日,月,年 或
星期几,年中的某年,某年的某年。由于您提供的是星期几,但没有提供星期几和每年的某天,因此这些值的值假定为1。
实际值取决于您的区域设置:
- 一年中的哪一周是第1周
- 哪一天是一周的第一天
(请参阅https://docs.oracle.com/javase/7/docs/api/java/util/GregorianCalendar.html#week_and_year)
在我的系统上(使用de-ch语言环境,格式为“ EEE MMM dd HH:mm:ss zzz yyyy-YYYY-ww-u”)
Mo Jan 04 00:00:00 MEZ 2016-2016-01-1Mo Jan 04 00:00:00 MEZ 2016-2016-01-1Mo Jan 04 00:00:00 MEZ 2027-2027-01-1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)