Продолжение с вопроса Java-программа для получения текущей даты без отметки времени:
Каков наиболее эффективный способ получить объект Date без времени? Есть ли другой способ, чем эти два?
// Method 1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateWithoutTime = sdf.parse(sdf.format(new Date()));
// Method 2
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
dateWithoutTime = cal.getTime();
Обновление
-
Я знал о Joda-Time; Я просто пытаюсь избежать дополнительной библиотеки для такой простой (я думаю) задачи. Но на основе ответов до сих пор Joda-Time кажется чрезвычайно популярным, поэтому я мог бы рассмотреть его.
-
Эффективным я имею в виду, что я хочу избежать создания временного объекта
String
, используемогоmethod 1
, между темmethod 2
кажется взломом вместо решения.