GWT конвертирует текущую дату в GMT - PullRequest
0 голосов
/ 16 марта 2012

Я конвертирую текущую дату во время по Гринвичу.

Результат является непоследовательным, из-за этого мои расчеты по времени и дате идут.

            DateTimeFormat df = DateTimeFormat.getFormat("dd MMM yyyy hh:mm:ss");
            String gmtStr = new Date().toGMTString().replace("GMT", "").trim();
            long deptime= depTime - df.parse(gmtStr).getTime();
            deptime = deptime / 1000;
            seconds = (deptime % 60);
            minutes = (deptime % 3600) / 60;
            hours = (deptime / 3600);

1 Ответ

2 голосов
/ 16 марта 2012

Не уверен, что лучший способ, но вы можете использовать getTimezoneOffsert:

final Date gmtDate = new Date();
final Date offDate = new Date(gmtDate.getTime() + gmtDate.getTimezoneOffset() * 60 * 1000);

. offDate при отображении с DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_LONG) все равно будет показывать смещение utc / gmt, потому что в основномвы создали новое время в текущем часовом поясе, но оно соответствует времени по Гринвичу, и длинное значение, возвращаемое из getTime(), будет числом миллисекунд, которое вы можете использовать в своих вычислениях.

...