Java - Разбор JLabel на java.util.Date

Я просто пытаюсь разобрать строку в JLabel на дату, используя simpleDateFormatter(). Судя по всему, что я искал в Интернете, этот код должен работать. Однако во время компиляции я получаю ошибку «не удается найти символ - метод синтаксического анализа (java.lang.String)». Мы будем благодарны за любые советы о том, как решить проблему.

Рассматриваемый JLabel был заполнен датой из запроса к базе данных с использованием JDBC.

Кроме того, я знаю, что этот java.util.Date устарел, но все же хотел бы использовать его для этого.

Фрагмент кода:

private Format formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
private JLabel dateDataLabel = new JLabel("");

private void setAndParseLabel()
{
    dateDataLabel.setText(formatter.format(validatePass.eventDate));

    java.util.Date aDate = formatter.parse(dateDataLabel.getText());
}

Я рекомендую вам избегать класса SimpleDateFormat. Это не только давно устарело, но и доставит много хлопот. Сегодня у нас намного лучше в java.time, современный API даты и времени Java.

Ole V.V. 30.09.2018 19:05

К вашему сведению, ужасно неприятные старые классы даты и времени, такие как java.util.Date, java.util.Calendar и java.text.SimpleDateFormat, теперь являются наследие, вытесненными классами java.time, встроенными в Java 8 и новее. См. Руководство от Oracle.

Basil Bourque 30.09.2018 22:39
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
97
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

java.text.Format не имеет метода parse, поэтому код не компилируется.

Вы можете сослаться на это по java.text.DateFormat:

private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");

Ах, спасибо, простая оплошность с моей стороны. Очень признателен. Я приму ваш ответ, когда пройдут необходимые 10 минут.

Justiciar 30.09.2018 18:39

Рад помочь :)

xingbin 30.09.2018 18:41

В parse нет метода java.text.Format. Вместо этого используйте java.text.DateFormat:

private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");

Другие вопросы по теме