Изменить дату, чтобы все часы были смещены на 4 часа - PullRequest
0 голосов
/ 06 января 2012

Я хочу настроить объект Date, чтобы он всегда был смещен на 4 часа.Как бы я этого достиг?

var d = new Date();
// d would be 4 hours in the past

Ответы [ 3 ]

2 голосов
/ 06 января 2012
Date.withOffset = function( offset ){
    var r = new Date();
    r.setHours(r.getHours()+offset);
    return r;
};

var d = Date.withOffset( -4 )
// d would be 4 hours in the past

Вы можете придумать более подходящее имя.

Если вы хотите сломать весь javascript на своей странице, вы, конечно, можете использовать:

Date = function () {
    var old = Date;

    function broken() {
        var r = new old();
        r.setHours(r.getHours()-4);
        return r;
    }
    broken.fix = function () {
        Date = old;
    };

    return broken;
}();

Вы можете исправитьэто по телефону Date.fix()

0 голосов
/ 06 января 2012

Примерно так:

d.setHours(d.getHours()-4);
0 голосов
/ 06 января 2012

Вы можете создать объект даты с определенной датой.Просто вычтите правильные миллисекунды из текущего времени и передайте их функции даты:

var d = new Date(new Date().getTime() - 1000*60*60*4);

или вы можете вручную установить часы

var d = new Date();
d.setHours((12 + (d.getHours() - 4))%12)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...