У меня свидание с этим форматом: Вс окт 19 1:00:00 ADT 2014преобразования даты из одного формата в другой не работает
и мне нужно, чтобы преобразовать его в следующем формате, но я не могу,
Вот мой код:
// The test string
String str = "Sun Oct 19 01:00:00 ADT 2014";
// Formatter for the input date
final DateTimeFormatter inputFormat =
DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy");
// The parsed date
final LocalDateTime parsed = LocalDateTime.parse(str, inputFormat);
// The output format(s). Specify the one you need
final DateTimeFormatter outputFormat1 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
final DateTimeFormatter outputFormat2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// Print
System.out.println(outputFormat1.format(parsed)); // -> 2014/10/21
System.out.println(outputFormat2.format(parsed)); // -> 2014-10-21
Но он не работает на всех, и я застрял с этим с утра и на самом деле не знаю, как ее решить, кто-нибудь есть какие-либо идеи?
Что именно не работает? Какие ошибки вы получаете? Какой результат вы получаете, и какой результат вы ожидаете? – forgivenson
Ваша строка ввода - это полностью определенный момент времени, включая часовой пояс, так почему вы используете 'LocalDateTime' для синтаксического анализа? – isnot2bad
Вы, кажется, проверяете, будет ли 19 октября 2014 года преобразовываться в 2014-10-21. 19-го числа месяца не 21-го числа месяца. Кроме того, как указывает @forgivenson, вы, вероятно, должны использовать 'ZonedDateTime' вместо' LocalDateTime.' –