Разница между датой в миллисекундах и ее календарным представлениемJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Разница между датой в миллисекундах и ее календарным представлением

Сообщение Anonymous »

У меня есть две функции, которые преобразуют строку даты в дату в миллисекундах:

Код: Выделить всё

public static long convertYYYYMMDDtoLong(String date) throws ParseException {
SimpleDateFormat f = new SimpleDateFormat("yyyy-mm-dd");
Date d = f.parse(date);
long milliseconds = d.getTime();
return milliseconds;
}
Если я запущу эту функцию, я получу следующий результат:

Код: Выделить всё

long timeStamp = convertYYYYMMDDtoLong("2014-02-17");
System.out.println(timeStamp);
Печатает:

Код: Выделить всё

1389909720000
Теперь, если я запущу следующий код:

Код: Выделить всё

Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timeStamp);
System.out.println(cal.getTime());
Он распечатывает:

Код: Выделить всё

Fri Jan 17 00:02:00 IST 2014
Почему моя дата сдвинута на один месяц? Что не так?

P.S: Моя проблема в том, что мне нужно сопоставить дату, представленную как длинная, с другой третьей party API, который принимает только формат календаря.

Подробнее здесь: https://stackoverflow.com/questions/208 ... esentation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»