注:代码执行当天时间为2019-12-30
24小时和12小时时间格式
//24小时和12小时时间格式
SimpleDateFormat sdfH = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdfh = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println("yyyy-MM-dd HH:mm:ss格式显示的时间为::" + sdfH.format(new Date()));
System.out.println("yyyy-MM-dd hh:mm:ss格式显示的时间为::" + sdfh.format(new Date()));
运行结果:
yyyy与YYYY
//yyyy vs YYYY
SimpleDateFormat sdfy = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdfY = new SimpleDateFormat("YYYY-MM-dd");
System.out.println("yyyy-MM-dd格式显示的时间为:" + sdfy.format(new Date()));
System.out.println("YYYY-MM-dd格式显示的时间为:" + sdfY.format(new Date()));
运行结果:
原因:YYYY代表的是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年。
拓展
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
System.out.println("2019-12-30为当年中的第几天:"+cal.get(Calendar.DAY_OF_YEAR));
System.out.println("2019-12-30为当月中的第几天:"+cal.get(Calendar.DAY_OF_MONTH));
System.out.println("2019-12-30为当前周中的第几天:"+cal.get(Calendar.DAY_OF_WEEK));
System.out.println("2019-12-30所在的周为当月中的第几周:"+cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("当前小时为2019-12-30中的第几个小时(24h):"+cal.get(Calendar.HOUR_OF_DAY));
System.out.println("当前小时为2019-12-30中的第几个小时(12h):"+cal.get(Calendar.HOUR));
cal.add(Calendar.DAY_OF_YEAR,2);
System.out.println("2020-01-01为当年中的第几天:"+cal.get(Calendar.DAY_OF_YEAR));
System.out.println("2020-01-01为当月中的第几天:"+cal.get(Calendar.DAY_OF_MONTH));
System.out.println("2020-01-01为当前周中的第几天:"+cal.get(Calendar.DAY_OF_WEEK));
System.out.println("2020-01-01所在的周为当月中的第几周:"+cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
运行结果:
new Date() —— Date
new Date().getTime() = System.currentTimeMillis() —— long