public static void main(String[] args) {
try {
String dateFrom = "2019-12-10 13:22:02";
String dateTo = "2019-12-10 13:22:05";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Map<String, Integer> map = calculateTimeDifference(sdf.parse(dateFrom), sdf.parse(dateTo));
System.out.println(map.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public static Map<String, Integer> calculateTimeDifference(Date dateFrom, Date dateTo) {
Map<String, Integer> map = new HashMap<String, Integer>();
Calendar from = Calendar.getInstance();
from.setTime(dateFrom);
Calendar to = Calendar.getInstance();
to.setTime(dateTo);
int fromYear = from.get(Calendar.YEAR);
int fromMonth = from.get(Calendar.MONTH);
int toYear = to.get(Calendar.YEAR);
int toMonth = to.get(Calendar.MONTH);
int year = 0;
int month = toYear * 12 + toMonth - (fromYear * 12 + fromMonth);
if (month >= 12) {
year = toYear - fromYear;
}
int day = (int) ((to.getTimeInMillis() - from.getTimeInMillis()) / (24 * 60 * 60 * 1000));
int hour = (int) ((to.getTimeInMillis() - from.getTimeInMillis()) / (1000 * 60 * 60));
int minute = (int) ((to.getTimeInMillis() - from.getTimeInMillis()) / (1000 * 60));
int second = (int) ((to.getTimeInMillis() - from.getTimeInMillis()) / (1000));
map.put("year", year);
map.put("month", month);
map.put("day", day);
map.put("hour", hour);
map.put("minute", minute);
map.put("second", second);
return map;
}
java计算两个时间差(年、月、日、时、分、秒)
最新推荐文章于 2022-05-21 17:39:01 发布