我遇到以下问题:
我有两个变量叫做" hourOne"和" hourTwo"日历类型[] []。它们将日期存储在两列中,"开始"和"结束"。我需要减去小时数以找到差异并存储在另一个变量(例如hourThree)中,如此
hourOne[0][0] = "08:00"
hourOne[0][1] = "12:00"
hourTwo[0][0] = "07:00"
hourTwo[0][1] = "13:00"
在hourThree中有
hourThree[0][0] = "07:00"
hourThree[0][1] = "08:00"
hourThree[1][0] = "12:00"
hourThree[1][1] = "13:00"
如何减去这段时间?
详细信息:我不能使用JodaTime API,并且变量没有定义的行数(一行可能比另一行更多)。
答案 0 :(得分:0)
使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("kk:mm");
ParsePosition idx = new ParsePostion(0);
long time = sdf.parse(hourOne[0][0], idx).getTime() - sdf.parse(hourOne[0][1], idx).getTime();
答案 1 :(得分:0)
强烈建议@ControllAltDel传递解决方案, 如果您不想使用Dateformat,您可以基于此
实现时间关节的简单方法static String sub (String a,String b){
String[] tmp = a.split(":");
int ah = Integer.parseInt(tmp[0]);
int am = Integer.parseInt(tmp[1]);
tmp = b.split(":");
int bh = Integer.parseInt(tmp[0]);
int bm = Integer.parseInt(tmp[1]);
int cm = am-bm;
int reminder = 0;
cm=cm%60;
if (cm<0) {
reminder--;
cm+=60;
}
int ch = ah-bh+reminder;
return ch+":"+cm;
}