Набор календаря Java всегда идет к будущей дате? - PullRequest
0 голосов
/ 01 ноября 2011

В Java Calendar существует набор методов.Например, сейчас 01/11/2011.Если мы сделаем так:

Calendar now = new GregorianCalendar();

now.set(GregorianCalendar.DAY_OF_WEEK,Calendar.FRIDAY);

Календарь будет установлен на ближайшую пятницу, но на дату больше, чем сейчас.В документах ничего не написано, если всегда идти к большей дате.Кто-нибудь может это подтвердить?Спасибо.

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Всегда задает день недели в течение одной недели. Первый день недели будет зависеть от календаря и локали.

Например, при использовании календаря по умолчанию на моем аппарате в Великобритании понедельник является первым днем ​​недели - поэтому установка дня недели на понедельник сегодня приводит к 31 октября, тогда как установка дня недели на воскресенье приводит к 6 ноября Однако, если я использую:

Calendar now = Calendar.getInstance(Locale.US);
now.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println(now.getTime());

... тогда первый день недели - воскресенье, а результат - 30 октября.

Вы можете установить первый день недели явно, используя setFirstDayOfWeek.

1 голос
/ 01 ноября 2011

Этот метод установит календарь на пятницу этой недели.Будь то в прошлом или будущем, зависит от того, где на текущей неделе вы находитесь в данный момент.Это также зависит от локали, так как первый день недели может отличаться в зависимости от того, где вы находитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...