Я пытаюсь получить местное время с времени UTC сервера.Я получаю время UTC с сервера - и я хочу, чтобы оно было правильным для каждого отдельного телефона Android, будь то в Калифорнии или Китае.
Это код, который я использую сейчас - однако он не работает.
Время, которое я получаю с сервера:
"2010-08-17 19:41:13.0"
И код, который я использую дляполучить разницу (в секундах):
public static long getSecondsDifference(Timestamp timeStamp) {
final Calendar calendar = Calendar.getInstance(Locale.getDefault());
int refrenceOffset = TimeZone.getDefault().getOffset(timeStamp.getTime());
final long referenceSeconds = (timeStamp.getTime() + refrenceOffset) / 1000;
final long currentTimeSeconds = (calendar.getTimeInMillis()) / 1000;
final long differenceMinutes = (currentTimeSeconds - referenceSeconds) / 60;
return differenceMinutes;
}
Метка времени из пакета java.sql.timestamp.
Сейчас время, в которое я нахожусь, - 11:50 -- и метод возвращает, что данное серверное время составляет -53 минуты назад (поэтому, очевидно, что-то делает не так :))