2014-12-04 2 views
0

Я пытаюсь сделать поглотитель для JTextField, код выглядит следующим образомГеттерный для JTextField, как дата

public Date getStartDate() { 

    return textFieldStartDate.getText(); 
} 

Я получаю ошибку

Type mismatch: cannot convert from String to Date 

Проблема очевидна, однако Я не знаю, как его решить. Я много искал, но не смог найти простой ответ.

+1

http://stackoverflow.com/questions/999172/how-to-parse-a-date – Misch

+0

Конечно вы с полем 'Date', поэтому возвращаемый тип должен быть также' Date', но вы возвращаете 'String'. Вам просто нужно преобразовать String to Date и вернуть его. – ErrorNotFoundException

ответ

1

Попробуйте это:

public Date getStartDate() { 
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy"); 
Date date = formatter.parse(textFieldStartDate.getText()); 
    return date; 
} 
+0

Работал идеально. Однако я изменил формат на MM-dd-yyyy, но это результат ex. «1 октября 2014 года 12:00:00», и я хочу, чтобы это было в «1-10-2014». Почему это не работает? Btw благодарит за помощь. –

0

изменить ваш метод

public Date getStartDate() { 

    SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd"); 
    Date textDate= formatter.parse(textFieldStartDate.getText()); 
    return textDate; 
    } 
+0

, пожалуйста, объясните, как это работает/что вы изменили. – jbutler483

+0

Ничего отличного от выше answer.we опубликовал ответ в одно время. – VaibJ

Смежные вопросы