Вы неправильно смотрите формат и дату.
- Дата не содержит формат. Date - это просто класс, содержащий информацию о дате, такую как дата, месяц, часы, секунды и т. Д.
- SimpleDateFormat - это тот, который сообщает вам строковое представление Date. Но с ней нет даты.
Таким образом, идея в том, что когда вам нужно отобразить дату или сохранить дату в некотором строковом представлении, вы будете использовать SimpleDateFormat и передавать ему дату, для которой вы хотите строковое представление.
Одно из преимуществ в этом случае заключается в том, что я могу использовать один и тот же объект Date и отображать два разных строковых представления (используя два разных экземпляра SimpleDateFormat). И также наоборот, определив один экземпляр SimpleDateFormat, я могу форматировать несколько дат.
Редактировать:
Теперь, если вы хотите убрать некоторую информацию с даты. Используйте
Calendar rightNow = Calendar.getInstance();
Calendar cal = new GregorianCalendar(
rightNow.get(YEAR),
rightNow.get(MONTH),
rightNow.get(DAY_OF_MONTH));
Date now = cal.getTime();
Есть и другие хорошие варианты, например JodaTime
.
Ref:
GregorianCalendar
Календарь
Joda Time