У меня есть странная проблема, когда я пытаюсь разобрать эту дату: Tue Nov 03 10:50:16 CET 2015
с помощью java SimpleDateFormat, она выдает исключение из-за «Tue» там.
Мой код:Дата Java не обрабатывает день
String date = "Tue Nov 03 10:50:16 CET 2015";
Date parsedDate = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").parse(date);
Что вызывает это исключение: java.text.ParseException: Unparseable date: "Tue Nov 03 10:50:16 CET 2015"
Я пытался отладки, и это то, что сводится к тому:
String date = "Tue";
Date parsedDate = new SimpleDateFormat("EEE").parse(date);
Который проливает тот же тип исключения. (Я также попробовал это с одним «E»). Я думаю, что это действительно странно, потому что документация говорит мне, что так оно и должно использоваться. Источник: https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
Решения более чем приветствуются!
Спасибо, Лука
Update: точка разбора является для разбора MANIFEST.getMainAttributes().getValue("Created-On");
Какой у вас язык? От этого зависит текстовое представление дня и месяца. – cheffe
Попробуйте перейти в локацию «en-us» к конструктору, чтобы заблокировать эту часть. – Thilo
Вы можете попробовать следующее предложение @cheffe: 'SimpleDateFormat (« EEE », Locale.ENGLISH)'. Кстати, я протестировал ваш код с помощью String, и он отлично работает. Язык в моей системе English –