Javascript getDate проблема - PullRequest
       4

Javascript getDate проблема

1 голос
/ 07 декабря 2010

У меня очень странная проблема с функцией getDate в JavaScript. В начале какой-то функции я создал объект Date, используя:

var day = new Date(date);  

, в котором date - это метка времени Unix.

Я не изменяю объект дня, но через некоторое время я пытаюсь получить день месяца этого объекта, но day.getDate() продолжает давать мне неправильное значение.

Например:

alert(day.getTime() + "-" + day.getDate() + "-"+ day.getMonth() +"-" + day.getFullYear() + "-" + day.getHours() + "-" + day.getMinutes() + "-" + day.getSeconds());  

дает мне следующий результат: 1290297600-15-0-1970-23-24-57

и в какой-то другой момент результат: 1290384000-15-0-1970-23-26-24

И это странная часть, если вы посмотрите метку unixtime 1290297600, вы увидите, что это метка времени 21 ноября 2010 года в 00:00:00 по Гринвичу (1290384000 на следующий день, то же время) Отметки времени верны, но я не могу понять, какие даты они мне дают.
Это происходит со мной в любом браузере.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

Проблема здесь в том, что объект Date в JavaScript не берет метку времени Unix (секунды с начала эпохи), а фактически занимает миллисекунды с начала эпохи.Если вы просто умножите переменную date на 1000, то получите правильный результат.

Пример здесь

0 голосов
/ 03 марта 2011

Время = формат отметки времени Unix. Я добавил 64800 секунд ко времени, чтобы оно было переведено в стандартное время горы.

* отметка времени 24 * 60 * 60

.getTime () // миллисекунды 24 * 60 * 60 *1000* 1005 *

приватный DateField dateField1; ///////////////////////

dateField1 = new DateField ("Date:", DateField.DATE); f.append (dateField1);

Дата d = новая Дата (); dateField1.setDate (д);

String TimeSeg ​​= String.valueOf (((dateField1.getDate (). GetTime () / 1000) +64800));

...