Строка Java для даты без времени - PullRequest
0 голосов
/ 07 июля 2010

Я беру класс на Java и мне нужно преобразовать строку в формат даты (дд / мм / гггг).Я использовал SimpleDateFormat для форматирования ввода, но он показывает время, часовой пояс и день недели, когда дата падает.Вот фрагмент моего кода:

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
Date date = new Date(); 
do{ 
    y = JOptionPane.showInputDialog(null, 
                                    "Please enter the vehicle's registration date",
                                    "Year?", 
                                    JOptionPane.QUESTION_MESSAGE); 
    try { 
        date = df.parse(y); 
        check = true; 
    } 
    catch (ParseException e) { 
        check = false; 
    } 
} 
while (check == false); 
return date;

Кто-нибудь знает, как я могу сохранить формат только на дату (например, 12/3/2000)?Спасибо

Ответы [ 2 ]

4 голосов
/ 07 июля 2010

Просто отформатируйте его соответствующим образом, используя SimpleDateFormat#format().

String dateString = new SimpleDateFormat("dd/MM/yyyy").format(dateObject);

Объект java.util.Date содержит информацию о и дате и времени.Если вам нужна только часть даты в формате, представляемом человеком, вам необходимо отформатировать ее в String.Вызов Date#toString(), который вы получите при выполнении System.out.println(dateObject), вернет только дату в формате dow mon dd hh:mm:ss zzz yyyy.Также см. Связанный Javadoc.

0 голосов
/ 26 декабря 2013

У меня есть решение, аналогичное @BalusC, за исключением того, что оно будет обеспечивать форматирование, зависящее от локали:

String dateString = java.text.DateFormat.getDateInstance().format(dateObject);

Другими словами, ваши клиенты в США и ЕС получат различное форматирование.Тот, с которым они знакомы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...