2015-05-28 2 views
0

У меня есть объект DateTime в GMT, и я бы хотел преобразовать его в EST, который является моим местным часовым поясом. Как я могу это сделать?Jodatime Конвертировать за границу в местный часовой пояс

Я смущен, потому что, поскольку EST - это мой местный часовой пояс, java предполагает, что любые объекты DateTime уже находятся в EST, и поэтому new DateTime(refDate, DateTimeZone.forID('EST')) не преобразовывает ничего.

ответ

0

Поскольку ваша дата находится в формате GMT, сначала вам нужно проанализировать дату с использованием UTC, а затем преобразовать ее в свой часовой пояс.

 String gmtTime = "2015-05-28 11:36:38.0"; 

     DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.S"); 
     DateTime dateTime = fmt.withZoneUTC().parseDateTime(gmtTime); 
     System.out.println("UTC Time: "+dateTime); 

     DateTime now = dateTime.toDateTime(DateTimeZone.forID("EST")); 
     System.out.println("Current EST Time " +now); 

Выход

UTC Time: 2015-05-28T11:36:38.000Z 
Current EST Time 2015-05-28T06:36:38.000-05:00 
Смежные вопросы