Java дата странное поведение - PullRequest
0 голосов
/ 23 марта 2012

У меня очень странное поведение класса Java Date:

    System.out.println(new Date().toGMTString());
    long l = 1332452310L;
    Date d = new Date(l);
    System.out.println(d.toGMTString());

дает мне

22 Mar 2012 22:00:42 GMT
16 Jan 1970 10:07:32 GMT

Почему это происходит?

Ответы [ 4 ]

9 голосов
/ 23 марта 2012

ваше длинное l - это время в секундах, вам нужно указать время в миллисекундах:

long l = 1332452310L * 1000L;
1 голос
/ 23 марта 2012

Вы даете количество секунд, а не миллисекунд, которые вы должны.

0 голосов
/ 23 марта 2012

Вы должны умножить 1000 передач с секунд на миллисекунды, чтобы ввести данные

0 голосов
/ 23 марта 2012

Дата (длинная) предполагает миллисекунды.Умножьте свое значение на 1000 и проверьте, получаете ли вы то, что ожидаете.

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