перетворити java.util.Date прямо в потрібний формат?

Як перетворити java.util.Date прямо в потрібний формат дати? Я намагався перетворити дату в рядок спочатку, а потім знову в день, але він як і раніше приймає формат дати як март 10,2011, я хочу цей формат 10-03-2011

3
Ви кажете, що вам потрібен об'єкт Date для сортування? Як ви візуально показуєте рядковий об'єкт? Це в програмі Swing.
додано Автор Oliver Watkins, джерело
Звичайна відповідь для вас: java.util.Date - це лише зображення з мілісекундним часом з 1 січня 1970 р. GMT. Об'єкти Date мають NO інформацію про формат. Якщо ви хочете роздрукувати дату, скористайтеся методом SimpleDateFormat , а не методом toString() Date . Остання досить заплутана для більшості програмістів
додано Автор Marco Forberg, джерело
будь ласка, подивіться на це, перш ніж ставити питання щодо форматів дати w3.org/TR/NOTE-timetime
додано Автор fGo, джерело

7 Відповіді

Його просто :) і SimpleDateFormat може допомогти вам.

Але якщо у вас є dataestring, то так, вам потрібно провести аналіз datestring та повторно відформатувати його в потрібний формат ( dd-MM-yyyy ).

2
додано
якщо ваш ввід є рядком, то розібрати його, використовуючи SimpleDateFOrmat # parse , які перетворюють рядок на дату, і ви можете перетворити його знову
додано Автор Subhrajyoti Majumder, джерело
Що я можу отримати для вас Дата в JTable і JTextField у форматі "DD/MM/YYYY"
додано Автор Subhrajyoti Majumder, джерело
так, я спробував це, але SimpleDateFormat перетворює дату в рядок, але мені потрібен дата datatype, оскільки це, а не рядок для сортування, ви, будь ласка, поставте свою ідею з кодом?
додано Автор JavaDevOps, джерело
Мій код виглядає так: java.util.Date date = .getDate; тоді я зробив цей новий SimpleDateFormat ("dd-MM-yyyy"). формат (дата); для отримання бажаного формату, але під час відображення його в jtable мені потрібна дата як дата, а не як рядок
додано Автор JavaDevOps, джерело
тому що під час сортування датою в порядку зростання або зменшення вона повинна розглядатися як дата, а не рядок
додано Автор JavaDevOps, джерело

ОП не міг згадати, що він відображає їх у JTable . Вам потрібні ці речі для вашого стовпця дати у вашому JTable.

  • CellRenderer : відобразиться дата у форматі рядка (Use Simpledateformat)
  • TableModel : це тримає внутрішнє представлення

Тепер, коли ви сортуєте JTable, стовпець буде сортуватись у представленні внутрішніх даних.

1
додано

спробуйте цей код.

String dateFormat = "dd-MM-yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, new Locale("en_US"));
String tDate = sdf.format(date);
System.out.println(tDate);
0
додано

Просто перенесіть у ваш об'єкт дати безпосередньо до цього методу, і ви отримаєте дату у потрібному рядковому форматі

new SimpleDateFormat("dd-MM-yyyy").format(date);
0
додано

Створіть SimpleDateFormat з форматом дати dd-MM-yyyy:

Date today = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
String date = dateFormat.format(today);
System.out.println("Today in dd-MM-yyyy format : " + date);
0
додано

Ви можете спробувати це

Date date = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH).parse(string);

на 10-03-2011 ваш формат має бути "dd-MM-yyyy"

0
додано
Я спробував такі варіанти: SimpleDateFormat sf = new SimpleDateFormat ("dd-MM-yyyy"); Рядок stringDate = sf.format (дата); Дата date1 = новий SimpleDateFormat ("dd-MM-yyyy"). Parse (stringDate);
додано Автор JavaDevOps, джерело
але все-таки вона відображає дату в JTable як март 10,2011, але мені потрібна дата, яка буде відображатися в jTable як 10-03-2011
додано Автор JavaDevOps, джерело

Ви можете зробити це так

SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
String date = format.format(Date.parse(objectDate.toString()));
0
додано
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників