DateFormat格式化周(ww)遇到的坑

DateFormat格式化周(ww)遇到的坑

先说现象吧,有个需求我们需要获取yyyyww格式的日期字符串,代码如下

DateFormat df = new SimpleDateFormat("yyyyww");
String formatStr = sf.format(new Date());

这样写貌似没问题,但是在2018-12-31号这天,格式化的字符串确实 201801
很明显这不是我们的预期,为什么会出现这样的结果呢?原因是这天所在的那一周跨年了,程序把这天所在的周当做新年的第一周了。
解决办法也很简单,只需要算出这周的最后一天,然后再格式化就可以了。

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
String formatStr = sf.format(calendar.getTime());


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部