Ответ 1
Вы можете использовать SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("21/12/2012");
Но я не знаю, следует ли считать это более правильным, чем использовать Календарь...
Я запутался Java API для класса Date. Все кажется устаревшим и связано с классом Calendar. Поэтому я начал использовать объекты Calendar, чтобы делать то, что мне хотелось бы делать с датой, но интуитивно это беспокоит меня использовать объект Calendar, когда все, что я действительно хочу сделать, это создать и сравнить две даты.
Есть ли простой способ сделать это? Пока я делаю
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(0);
cal.set(year, month, day, hour, minute, second);
Date date = cal.getTime(); // get back a Date object
Вы можете использовать SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("21/12/2012");
Но я не знаю, следует ли считать это более правильным, чем использовать Календарь...
Отличная библиотека joda-time почти всегда является лучшим выбором, чем классы Java Date или Calendar. Вот несколько примеров:
DateTime aDate = new DateTime(year, month, day, hour, minute, second);
DateTime anotherDate = new DateTime(anotherYear, anotherMonth, anotherDay, ...);
if (aDate.isAfter(anotherDate)) {...}
DateTime yearFromADate = aDate.plusYears(1);
Вы можете попробовать joda-time.