РЕДАКТИРОВАТЬ: приведенный ниже код НЕ работает. Я всегда предполагал, что new Date (). GetTime () вернул количество секунд с 1 января 1970 г. В ТЕКУЩЕЙ ВРЕМЕННОЙ ЗОНЕ. Это не так: getTime () возвращает количество секунд в UTC. Итак, приведенный ниже код делает грубую перестройку. Спасибо всем!]
Прежде всего, спасибо за ваши фантастические идеи.
Наверное, у моего вопроса был неправильный заголовок ... это должно было быть "Получить UTC Unix Timestamp для существующей даты".
Итак, если у меня есть объект даты:
var d = new Date(2009,01,31)
Я был за функцией, которая сообщала бы мне «UTC Unix Timestamp».
Эта функция кажется настоящей уловкой:
Date.prototype.getUTCUnixTime = function (){
return Math.floor( new Date(
this.getUTCFullYear(),
this.getUTCMonth(),
this.getUTCDate(),
this.getUTCHours(),
this.getUTCMinutes(),
this.getUTCSeconds()
).getTime() / 1000);
}
Обратите внимание, что это работает на "это". Это означает, что я могу сделать:
var n = new Date(2008,10,10)
...
...
n.getUTCUnixTime();
И получите количество секунд с 1 января 1970 года по времени Unix.
Верно?
Для меня немного безумно, что Javascript хранит все в UTC раз, но затем, чтобы получить это число, мне нужно создать новый объект Date, передавая отдельные получатели UTC, и, наконец, вызвать getTime () для этого. ..
Merc.