Я пытаюсь понять, как поставить будильник на определенный день недели. Вот пример кода, который печатает то, что я ожидаю:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.WEEK_OF_MONTH, 1);
System.out.println("Week of month: " + calendar.get(Calendar.WEEK_OF_MONTH)); // Week of month: 1
Но когда я добавляю это в код, я получаю непонятный результат:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
calendar.set(Calendar.WEEK_OF_MONTH, 1);
System.out.println("Week of month: " + calendar.get(Calendar.WEEK_OF_MONTH)); // Week of month: 5
Я пытаюсь установить будильник на определенный день определенной недели. Сегодняшняя дата — 15 июня 2013 года. Может кто-нибудь объяснить мне это. Время Joda не подходит для того, что я делаю, поэтому мне нужно заставить это работать с обычными библиотеками Java. Спасибо за помощь.
Примечание редактора
Приведенный выше код вернет разные результаты в зависимости от даты его создания. запускается, поскольку Calendar.getInstance() возвращает календарь, установленный на текущее время. Для иллюстрации проблемы, не зависящей от текущего времени, используйте это:
DateFormat dateFormat = DateFormat.getDateInstance();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(1371294000000L);
System.out.println(dateFormat.format(calendar.getTime()));
calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
System.out.println(dateFormat.format(calendar.getTime()));
calendar.set(Calendar.WEEK_OF_MONTH, 1);
System.out.println("Week of month: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println(dateFormat.format(calendar.getTime()));
Это выводит что-то вроде этого (по крайней мере, если в вашей локали по умолчанию используется григорианский календарь):
Jun 15, 2013
Jun 13, 2013
Week of month: 5
May 30, 2013
Подробнее здесь: https://stackoverflow.com/questions/171 ... -is-week-5
Почему в календаре Java указано, что первый четверг месяца — пятая неделя? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить первый и последний день последнего месяца и первый день года
Anonymous » » в форуме Android - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-