Код: Выделить всё
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date today = formatter.parse(String.format("%04d-%02d-%02d",
Calendar.getInstance().get(Calendar.YEAR),
Calendar.getInstance().get(Calendar.MONTH),
Calendar.getInstance().get(Calendar.DAY_OF_MONTH)));
System.out.println("Today is " + today.toString());
Это наверняка не суббота, 9 января, а вторник, 9 февраля. Я предполагаю, что делаю что-то не так, так может ли кто-нибудь сообщить мне, что здесь не так? Нужно ли вручную устанавливать день недели?
Обновить [/b] Примечание. Я не хочу инициализировать сегодня с помощью новой Date(), потому что я хочу, чтобы часы, минуты, секунды и миллисекунды были инициализированы значением 0. Это необходимо, чтобы я мог сравнить дату ввода пользователя с сегодняшней датой: если пользователь вводит сегодняшнюю дату, и я использую форматировщик для создания объекта Date, тогда, если я инициализирую сегодняшний день с помощью new Date() и сравниваю эти два даты – сегодня будет после даты, выбранной пользователем (что неверно). Таким образом, мне нужно инициализировать сегодняшний день в начале дня без часов/мин/сек/мс.
Подробнее здесь: https://stackoverflow.com/questions/223 ... -incorrect