0

我有两个 hh:mm 字符串,我想对它们进行比较。

我的意思是,我想添加或减去它们,进行操作。我有一个包含当前时间的字符串和另一个字符串,例如“15:00”。我想知道两个字符串之间有多少分钟,我可以通过减法得到结果。那可能吗?

4

3 回答 3

3

您可以使用 解析它SimpleDateFormat,然后使用类中的getTime()方法Date获取以毫秒为单位的差异。

DateFormat f = new SimpleDateFormat("hh:mm");
Date d1 = f.parse(s1);
Date d2 = f.parse(s2);
long difference = d1.getTime() - d2.getTime(); // milliseconds
于 2013-09-03T14:00:10.840 回答
0

您可以为此使用 joda datetime:

public static void main(String[] args) {

    DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
    DateTime first = formatter.parseDateTime("15:00");
    DateTime second = formatter.parseDateTime("15:49");

    Interval interval = new Interval(first, second);
    System.err.println(interval.toDuration().getStandardMinutes());
}

看看这里

使用 Duration 还为您提供了一些其他简洁的方法,例如 getStandardSeconds() 在这种情况下将为您提供 2940。

于 2013-09-03T14:01:45.740 回答
0

这将使您开始..对两个字符串执行以下操作,然后进行必要的比较/加/减

String time1 = "15:00";
String time2 = "16:00";

DateFormat sdf = new SimpleDateFormat("hh:mm");
Date date1 = sdf.parse(time1);
Date date2 = sdf.parse(time2);

long milliSecondsDiff = date1.getTime() - date2.getTime(); //in milliseconds
int seconds = milliSecondsDiff/1000; //seconds
int minutes = seconds/60; //minutes
于 2013-09-03T13:57:47.207 回答