我的程序的一部分需要找到两次之间的最小差异。例如:
时间 1:上午 11 点
时间 2:下午 1 点
差异应该是 2 小时,而不是 22 小时(时间的顺序无关紧要)。现在,假设这两个时间总是不同的。我有两个字符串和两个整数用于存储时间:
int startTime = 11;
String startTimeType = "AM";
int endTime = 1;
String endTimeType = "PM";
我尝试通过采用 AM/PM 的每种可能组合对其进行硬编码:
startTimeType = "AM", endTimeType = "AM";
startTimeType = "AM", endTimeType = "PM";
startTimeType = "PM", endTimeType = "AM";
startTimeType = "PM", endTimeType = "PM";
例如在组合 1 (AM/AM) 中,代码为:
int timeDifference = 0;
if (startTimeType.equals("PM")
startTime += 12;
if (endTimeType.equals("PM")
endTime += 12;
if ((startTimeType.equals("AM") && endTimeType.equals("AM"))
{
timeDifference = Math.abs(startTime - endTime);
}
有没有办法不用硬编码就可以做到这一点?
最佳答案
也许 if (difference > 12) difference = 24 - difference
?
关于java - 查找 12 小时 AM/PM 格式的两个时间之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27455073/