我有一个开始时间和结束时间的时间戳。它在瑞典所以这里是24小时制。如果我将开始时间设置为23:00,将结束时间设置为02:00则应该是3小时的差异。但在这种情况下它的22个小时。
我计算差异这个:
String a =""+Math.abs(diff/(60*60*1000)%24);
String b =""+Math.abs(diff/(60*1000)%60);
如何解决这个问题?
更新
以下是一些代码:
DateFormat formatter = new SimpleDateFormat("HH:mm");
Date date1 = formatter.parse(str_time1);
Date date2 = formatter.parse(str_time2);
long diff = date2.getTime() - date1.getTime();
String a =""+Math.abs(diff/(60*60*1000)%24);
String b =""+Math.abs(diff/(60*1000)%60);
更新2
这是我的timepickerdialog,即使在这里也可能出现错误:
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
final TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
startworkFrom.setText(hourOfDay + ":" + minute);
}
}, mHour, mMinute, true);
timePickerDialog.show();
答案 0 :(得分:1)
以下是我遇到的问题的解决方案:
series: [{
name: 'name',
type: 'spline',
data: d1,
tooltip: {
// format the tooltip to return the y-axis value to two decimal places
formatter: function() {
return this.series.name + ': <b>' + Highcharts.numberFormat(this.y,2) + '%</b>';
}
}
}]
答案 1 :(得分:0)
这可能会有所帮助:
result_time = (end_time - start_time +24) % 24;
// +24 to avoid the result from going to negative
其中end_time是您的结束时间,即02:00 start_time是开始时间,即23:00 和%是模运算符
答案 2 :(得分:0)
尝试使用kk:mm代替HH:mm
所以将代码更改为:
DateFormat formatter = new SimpleDateFormat("kk:mm");