Я получил довольно прямолинейное DateConverter
с методом, который преобразует String
в org.joda.time.DateTime
public class DateConverter {
private static final DateTimeFormatter DATE_TIME_FORMATTER =
DateTimeFormat
.forPattern( "yyyy-MM-dd HH:mm:ss Z")
.withZone( DateTimeZone.forID("Europe/Warsaw") );
public static DateTime toDateTime(String value) {
return DateTime.parse(value, DATE_TIME_FORMATTER);
}
}
Теперь, чтобы проверить это,
String okDate = "2018-10-28 00:00:00 +0200";
String wrongDate = "2018-10-29 00:00:00 +0200";
System.out.println("Ok result: " + DateConverter.toDateTime(okDate));
System.out.println("Wrong result: " + DateConverter.toDateTime(wrongDate));
Что оставляет меня с выводом:
Ok результат: 2018-10-28T00: 00: 00.000 + 02: 00
Неверный результат: 2018-10-28T23: 00: 00.000 + 01: 00
Все дни до конца месяца, 29, 30, 31, как 28.Остальные дни в порядке.Может ли кто-нибудь помочь мне понять, что здесь происходит?Где ошибка, которую я сделал?