String类型的时间(日期时间)加上固定小时后计算结果
程序员文章站
2022-03-11 22:29:42
...
传入String类型的时间和String 类型的小时,求计算以后的时间:
private String computeDateTime(String dateTime, String hours) {
String forecastTime = new String();
if (StringUtils.isNotEmpty(dateTime)) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = simpleDateFormat.parse(dateTime);
} catch (ParseException e) {
e.printStackTrace();
}
calendar.setTime(date);
calendar.add(Calendar.HOUR_OF_DAY, Integer.parseInt(hours));
forecastTime = simpleDateFormat.format(calendar.getTime());
}
return forecastTime;
}
补充:
(1)Java 比较两个String类型的时间大小
private viod dateCompareTo(String dateTime, String dateTime1) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = null;
Date date = null;
String flag;
try {
date1 = simpleDateFormat.parse(dateTime1);
date = simpleDateFormat.parse(dateTime);
} catch (ParseException e) {
e.printStackTrace();
}
Long result = date.getTime() - date1.getTime();
}
只要比较result和0的大小就行。
(2)求两个String类型的时间之间的时间间隔(精确到小时)
private Double computeDispAndSignTimeInterval(String realDateTime, String forecastDateTime) {
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date realDate = null;
Date forecastDate = null;
try {
realDate = simpleDateFormat.parse(realDateTime);
forecastDate = simpleDateFormat.parse(forecastDateTime);
} catch (ParseException e) {
e.printStackTrace();
}
//时间间隔毫秒数
long time = realDate.getTime() - forecastDate.getTime();
//转换成小时
Double diffHours = Double.valueOf((time % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
return diffHours;
}
下一篇: C++从文件中按照单词读取内容