参考:https://blog.csdn.net/qq_63593632/article/details/121937821
常用模版:
1:求两个时间的间隔:
public static long getStartToEndTime(String start,String end) throws Exception{
String startTime = start;
String endTime = end;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //时间格式根据需要变动
Date d1 = format.parse(startTime);
Date d2 = format.parse(endTime);
long diff = Math.abs(d1.getTime() - d2.getTime());
System.out.println("相差 " + diff + " 毫秒");
long diffSeconds = diff / 1000 % 60; //秒
long diffMinutes = diff / (60 * 1000) % 60; //分钟
long diffHours = diff / (60 * 60 * 1000) % 24; //小时
long diffDays = diff / (24 * 60 * 60 * 1000); //天
System.out.print("两个时间相差:");
System.out.print(diffDays + " 天, ");
System.out.print(diffHours + " 小时, ");
System.out.print(diffMinutes + " 分钟, ");
System.out.println(diffSeconds + " 秒.");
System.out.println("相差 " + diffDays / 365 + " 年");
return diff;
}
2:求日期的天数、周数、星期数
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒SSS毫秒");
System.out.println(sdf.format(date));
SimpleDateFormat sdf2 = new SimpleDateFormat("E 一年中的第w周、第D天 一个月中的第W周的周F 一天中的24制的第k小时(点)12制的第K小时(点)");
System.out.println(sdf2.format(date));
//输出
2021年12月14日 17时15分42秒407毫秒
星期二 一年中的第51周、第348天 一个月中的第3周的周2 一天中的24制的第17小时(点)12制的第5小时(点)
SimpleDateFormat的参数