时间格式:yyyy-MM-dd HH:mm:ss
其中每一个的大小写的区别
public static void main(String[] args) {
Date date=new Date();
Date date1=new Date();
//设置时间为2020年7月4号
date.setTime(1593792000000L);
//date1设置为2019年12月30日
date1.setTime(1577635200000L);
SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-dd");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(format.format(date));
System.out.println(format2.format(date));
System.out.println("===================");
System.out.println(format.format(date1));
System.out.println(format2.format(date1));
}
输出结果:
YYYY是week-based-year,表示当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年那么这周就算入下一个年份中。所以2019年12月31日那天在这种转换方式下就是2020年。
而当yyyy就是当前制定日期所属的年份,所以2019年12月31日那天在这种情况下年份就是2019,
这个比较好区分,MM:表示月份;mm:表示分钟
Calendar calendar = Calendar.getInstance();
// 2019-12-31
calendar.set(2019, Calendar.DECEMBER, 31);
Date strDate1 = calendar.getTime();
// 2020-01-01
calendar.set(2020, Calendar.JANUARY, 1);
Date strDate2 = calendar.getTime();
// 大写 DD
SimpleDateFormat formatYYYY = new SimpleDateFormat("yyyy/MM/DD");
System.out.println("2019-12-31 转 YYYY/MM/DD 格式: " + formatYYYY.format(strDate1));
System.out.println("2020-01-01 转 YYYY/MM/DD 格式: " + formatYYYY.format(strDate2));
System.out.println("========================");
// 小写 dd
SimpleDateFormat formatyyyy = new SimpleDateFormat("yyyy/MM/dd");
System.out.println("2019-12-31 转 yyyy/MM/dd 格式: " + formatyyyy.format(strDate1));
System.out.println("2020-01-01 转 yyyy/MM/dd 格式: " + formatyyyy.format(strDate2));
输出结果为:
DD格式是指当前日期在当年中的天数,今天正好是当年的最后一天,导致字符串多了一位,
dd是当月日期。
HH是24小时制,hh是12小时制
ss表示秒,SS输出的是毫秒