Я довольно новичок в Java и немного застрял в использовании SimpleDateFormat
и Calendar
.У меня есть Date-Object и я хочу извлечь строку даты GMT, например yyyy-MM-dd HH:mm:ss
.Я живу в Германии, и на данный момент мы GMT +0200.Время моего объекта даты, например, 2011-07-18 13:00:00
.Теперь мне нужно 2011-07-18 11:00:00
.Смещение для моего часового пояса должно рассчитываться автоматически.
Я пробовал что-то вроде этого, но я предполагаю, что где-то есть ошибка:
private String toGmtString(Date date){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone timeZone = TimeZone.getDefault();
Calendar cal = Calendar.getInstance(new SimpleTimeZone(timeZone.getOffset(date.getTime()), "GMT"));
sd.setCalendar(cal);
return sd.format(date);
}
На некоторых устройствах строка даты возвращается так, как я хочуэто к.На других устройствах смещение не рассчитывается правильно, и я получаю дату и время от объекта ввода даты.Можете ли вы дать мне несколько советов или советов?Я думаю, что мой способ получить часовой пояс по умолчанию не работает?