我有两个 hh:mm 字符串,我想对它们进行比较。
我的意思是,我想添加或减去它们,进行操作。我有一个包含当前时间的字符串和另一个字符串,例如“15:00”。我想知道两个字符串之间有多少分钟,我可以通过减法得到结果。那可能吗?
您可以使用 解析它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
您可以为此使用 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。
这将使您开始..对两个字符串执行以下操作,然后进行必要的比较/加/减
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