Моя цель - получить дату в формате '{текущий год} -01-01 00:00:00', т. Е. Только значение года изменяется со временем. Каков наилучший способ сделать это.
Использование
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-01-01 00:00:00"); String format = simpleDateFormat.format(new Date());
не кажется достаточно чистым. Какие еще есть варианты?
Вы должны использовать Календарь объект.Намного проще в управлении, и если вам нужно добраться до date, есть способы для этого.
date
Calendar cal = Calendar.getInstance(); //Set to whatever date you want as default cal.set(Calendar.YEAR, *year you want*);
Вы можете использовать объект Calendar со следующим кодом:
Calendar
Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(Calendar.YEAR, year);
Попробуйте использовать календарь следующим образом:
new GregorianCalendar(Locale.CANADA).get(Calendar.YEAR);
Вы можете просто сделать:
Calendar today = Calendar.getInstance() String date = today.get(Calendar.YEAR) + "-01-01 00:00:00"
Вы можете сделать что-то вроде
Calendar cal = Calendar.getInstance(); cal.set(2011,1,1,0,0,0);
Затем вы можете изменить год этого объекта с помощью
cal.set(Calendar.YEAR, [your-int-year]);
и распечатать его любым удобным вам способом.