YYYY和yyyy的区别:
例子:
Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2019); calendar.set(Calendar.MONTH, 11); calendar.set(Calendar.DAY_OF_MONTH, 29); System.out.println("当前时间为: 2019-12-29"); SimpleDateFormat yMd = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("yyyy-MM-dd = " + yMd.format(calendar.getTime())); SimpleDateFormat YMd = new SimpleDateFormat("YYYY-MM-dd"); System.out.println("YYYY-MM-dd = " + YMd.format(calendar.getTime()));
输出结果:
当前时间为: 2019-12-29 yyyy-MM-dd = 2019-12-29 YYYY-MM-dd = 2020-12-29
你会发现使用YYYY-MM-dd格式化的日期变成了2020-12-29
YYYY 是 week-based-year,当天所在的周属于的年份,一周从周日开始,到周六结束;只要本周跨年了,那么这周就算入下一年。所以打印2020-12-29。
HH和hh的区别:.
例子:
Calendar calendar2 = Calendar.getInstance(); //2020-02-12 20:37:40 calendar2.set(2020, 1, 12, 20, 37, 40); System.out.println("当前时间为: 2020-2-12 20:37:40"); SimpleDateFormat yMdHms = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss "); System.out.println("yyyy-MM-dd HH:mm:ss = " + yMdHms.format(calendar2.getTime())); SimpleDateFormat yMdhms = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss "); System.out.println("yyyy-MM-dd hh:mm:ss = " + yMdhms.format(calendar2.getTime()));
输出结果:
当前时间为: 2020-2-12 20:37:40 yyyy-MM-dd HH:mm:ss = 2020-02-12 20:37:40 yyyy-MM-dd hh:mm:ss = 2020-02-12 08:37:40
HH输出的20小时制的,hh输出的是12小时制的
yyyy-M-d H:m:s的意思:
例子:
Calendar calendar3 = Calendar.getInstance(); //2020-02-02 08:03:05 calendar3.set(2020, 1, 2, 8, 3, 5); System.out.println("当前时间为: 2020-02-02 08:03:05"); SimpleDateFormat special1 = new SimpleDateFormat("yyyy-M-d H:m:s"); SimpleDateFormat special2 = new SimpleDateFormat("y-M-d H:m:s"); System.out.println("yyyy-M-d H:m:s = " + special1.format(calendar3.getTime())); System.out.println("y-M-d H:m:s = " + special2.format(calendar3.getTime())); System.out.println(); Calendar calendar4 = Calendar.getInstance(); //2020-11-20 20:30:50 calendar4.set(2020, 10, 20, 20, 30, 50); System.out.println("当前时间为: 2020-11-20 20:30:50"); System.out.println("yyyy-M-d H:m:s = " + special1.format(calendar4.getTime())); System.out.println("y-M-d H:m:s = " + special2.format(calendar4.getTime()));
输出结果:
当前时间为: 2020-02-02 08:03:05 yyyy-M-d H:m:s = 2020-2-2 8:3:5 y-M-d H:m:s = 2020-2-2 8:3:5 当前时间为: 2020-11-20 20:30:50 yyyy-M-d H:m:s = 2020-11-20 20:30:50 y-M-d H:m:s = 2020-11-20 20:30:50
MM和M ,dd和d ,HH和H,mm和m, ss和s 都是相等的,区别为是否有前导零:M,d,H,m,s表示非零开始,MM,dd,HH,mm,ss表示从零开始。
例如上午八点十分 HH:mm 会显示 08:10 H:m 会显示8:10
参考文章:
还没有评论,来说两句吧...