java中的YYYY和yyyy的日期bug

25 篇文章 0 订阅
 public static void main(String[] args) {
        Calendar calendar=Calendar.getInstance();
        //2019-12-31
        calendar.set(2019,Calendar.DECEMBER,31);
        Date strDate=calendar.getTime();
        DateFormat formatUpperCase=new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("yyyy-MM-dd------"+formatUpperCase.format(strDate));

        DateFormat formatCase=new SimpleDateFormat("YYYY-MM-dd");
        System.out.println("YYYY-MM-dd------"+formatCase.format(strDate));
    }

结果显示:

yyyy-MM-dd------2019-12-31
YYYY-MM-dd------2020-12-31

我本来是 2019年12月31日,但是用YYYY-MM-dd进行转换,却直接多了一年?

  • YYYY是表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。12月31号正好是本周跨年,所以直接是下一年
  • yyyy是表示:是几月就是几月,我们想要的年的概念。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值