1.计算时间差
计算两段时间的时间差,分别用秒,分钟和小时表示
public static void main(String[] args) {
//当前时间
Date date = new Date();
String str = "2022-11-15 18:00:00";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date time = null;
try {
time = sf.parse(str);
long diff = date.getTime() - time.getTime();
long sec = diff / 1000;
long min = diff / 60 / 1000;
long hours = diff / 60 / 60 / 1000;
System.out.println("相差多少秒" + sec);
System.out.println("相差多少分钟" + min);
System.out.println("相差多少小时" + hours);
} catch (ParseException e) {
e.printStackTrace();
}
}
计算两段时间相差多少小时,要求保留1位小数
public static void main(String[] args) {
//当前时间
Date date = new Date();
String str = "2022-11-15 18:20:00";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date time = null;
try {
time = sf.parse(str);
long diff = date.getTime() - time.getTime();
DecimalFormat df = new DecimalFormat("#.0");
System.out.println("相差多少小时" + df.format((diff*1.0)/60/60/1000));
} catch (ParseException e) {
e.printStackTrace();
}
}
2. 字符串和时间的转换
String和Date相互转换
public static void main(String[] args) {
String str = "2022-11-15 18:20:00";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date time = null;
try {
time = sf.parse(str);
System.out.println(sf.format(time));
} catch (ParseException e) {
e.printStackTrace();
}
}