0
我試圖計算一個API返回給我的時間和當前設備時間之間的差異。剩餘時間計算android總是一個小時錯
的API返回的時間格式爲: 「game_start」: 「2015年9月3日19:00:00」
要計算我做到這一點的區別:
protected String getTimeToStart(JSONObject jsonObject) {
String time = "";
Calendar startTime;
Calendar current;
startTime = Calendar.getInstance();
current = Calendar.getInstance();
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat format2 = new SimpleDateFormat("HH mm ");
startTime.setTime(format.parse(jsonObject.getJSONObject("data").getJSONObject("game").getString("game_start")));
String[] splited = (format2.format(startTime.getTimeInMillis() - current.getTimeInMillis()).split("\\s+"));
time = splited[0] + "hrs " + splited[1] + "mins";
} catch (ParseException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
if (checkStarted(startTime, current)) {
return time;
} else {
return "League Started";
}
protected boolean checkStarted(Calendar start, Calendar current) {
if (current.before(start)) {
return true;
} else {
return false;
}
}
這個問題我有的是,計算總是將剩餘的時間返回爲應該是的一個小時,直到它達到它實際上開始的時間,然後它返回沒有剩餘時間,例如
當前時間= 16時59 時間它開始於= 17時 剩餘時間時返回1hrs 1mins
然後
當前時間= 17時 時間它開始於= 17: 00 剩餘的時間返回聯盟已開始