0

「13-11-2012 09:14:39」は、アプリでサーバーから取得するタイムスタンプ文字列のサンプルです。その時刻と現在のデバイス時刻の差を計算する必要があります。私のサーバーは GMT 形式で時刻を送信しています。現在時刻を GMT で計算するには、デバイスのタイムゾーンを GMT に変更する必要がありますか? そして、これら2回の正確な差分を取得するにはどうすればよいですか。私を助けてください。
これが私がこれまでに試したことです:

SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");

Date requestDate = formatter.parse(serverDateString);

Calendar requestDateCal = formatter.getCalendar();
requestDateCal.setTime(requestDate);

Calendar currentDateCal = Calendar.getInstance();
calculateTimeDiff(currentDateCal.getTimeInMillis(), requestDateCal.getTimeInMillis()); //finds diff between two timestamps
4

1 に答える 1

1

これを試して、

 SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");

 formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
 Date requestDate = formatter.parse(serverDateString);

 Calendar requestDateCal = formatter.getCalendar();
 requestDateCal.setTime(requestDate);

 Calendar currentDateCal = Calendar.getInstance();
 currentDateCal.setTimeZone(TimeZone.getTimeZone("GMT"));
 calculateTimeDiff(currentDateCal.getTimeInMillis(), requestDateCal.getTimeInMillis()); //finds diff between two timestamps
于 2012-11-15T09:57:45.130 に答える