Не уверен, что лучший способ, но вы можете использовать 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()
, будет числом миллисекунд, которое вы можете использовать в своих вычислениях.