Календарь возвращает неправильное время - PullRequest
0 голосов
/ 15 июня 2011

Отображаемое время намного опережает то, что я ожидал. Я анализирую строку даты и превращаю ее в миллисекунды.

year = Integer.parseInt(m1.group(1));
mo = Integer.parseInt(m1.group(2));
day = Integer.parseInt(m1.group(3));
hr = Integer.parseInt(m1.group(4));
min = Integer.parseInt(m1.group(5));
sec = Integer.parseInt(m1.group(6));

и вот я установил календарь

Calendar cal = Calendar.getInstance();
cal.set(year, mo, day, hr, min, sec);
time = cal.getTimeInMillis();

Ответы [ 2 ]

3 голосов
/ 15 июня 2011

Если вы посмотрите документацию календаря здесь , а затем посетите здесь , вы увидите, что январь - это месяц 0. Вам нужно изменить код на mo = Integer.parseInt(m1.group(2))-1;

0 голосов
/ 15 июня 2011

Вам, вероятно, следует использовать DateFormatter для разбора строки даты (вместо того, чтобы свернуть собственную).

Кроме этого, убедитесь, что у вас есть правильный часовой пояс, и понимаете, что месяцем номер один является февраль (а не январь).

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