时间减法有什么问题?

时间:2015-04-13 12:43:12

标签: java date time

我知道Date课程有时会非常痛苦。

请你以一些关于如何减去时间的建议给我一些止痛药?

我拥有的是:

SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm");
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
String s = "13.04.2015 16:00";
String s2 = "13.04.2015 15:30";
Date date = format.parse(s);
System.out.println(timeFormat.format(date.getTime() - format.parse(s2).getTime()));

这给了我02:30:00,但我很想得到00:30:00:)

2 个答案:

答案 0 :(得分:6)

我建议对TimeZone强制使用SimpleDateFormat

format.setTimeZone(TimeZone.getTimeZone("UTC"));
timeFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
格式化date之前

答案 1 :(得分:3)

我不确定您是否因某些要求而遇到Java Date类,但如果您在应用程序中大量处理日期和时间,我建议Joda-Time library。它解决了许多开箱即用的问题,并允许以更简单的方式执行日期和时间操作。