Преобразование одного часового пояса в другой с использованием времени jodaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Преобразование одного часового пояса в другой с использованием времени joda

Сообщение Anonymous »

Я создал функцию для преобразования одного часового пояса в другой с использованием времени joda, но эта функция не принимает дату

Я передал этой функции следующие параметры «Азия/Калькутта» , «UTC», «12 декабря 2014 г., 12:30». Выдает следующее исключение:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "12-Dec-2014 12:32" is malformed at "-Dec-2014 12:32"
at org.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:752)
at org.joda.time.convert.StringConverter.getInstantMillis(StringConverter.java:65)
at org.joda.time.base.BaseDateTime.(BaseDateTime.java:150)
at org.joda.time.DateTime.(DateTime.java:265)
at Dtime.convertTimeZones(Dtime.java:17)
at Dtime.main(Dtime.java:9)


Вот код:

public static String convertTimeZones( String fromTimeZoneString,
String toTimeZoneString, String fromDateTime) {
DateTimeZone fromTimeZone = DateTimeZone.forID(fromTimeZoneString);
DateTimeZone toTimeZone = DateTimeZone.forID(toTimeZoneString);
DateTime dateTime = new DateTime(fromDateTime, fromTimeZone);

DateTimeFormatter outputFormatter =
DateTimeFormat.forPattern("dd-MMM-yyyy HH:mm").withZone(toTimeZone);
return outputFormatter.print(dateTime);
}


DST (летнее время)

я передаю параметры как ("Америка/Денвер ","GMT","09 марта 2014 г., 02:00") в этот день начнется летнее время
для Денвера

В воскресенье, 9 марта 2014 г., 02:00:00 часы переведены на 1 час вперед до

воскресенья, 9 марта 2014 г., 03:00:00 вместо местного летнего времени

но выдается исключение

Исключение

Exception in thread "main" java.lang.IllegalArgumentException: Cannot parse "09-Mar-2014 02:00": Illegal instant due to time zone offset transition (America/Denver)
at org.joda.time.format.DateTimeParserBucket.computeMillis(DateTimeParserBucket.java:390)
at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:849)
at timeZone.convertTimeZones(timeZone.java:23)
at timeZone.main(timeZone.java:14)


Подробнее здесь: https://stackoverflow.com/questions/212 ... -joda-time
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»