我想将Date
对象调整为总是4小时偏移。我怎么做到这一点?
var d = new Date();
// d would be 4 hours in the past
答案 0 :(得分:2)
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()
答案 1 :(得分:0)
您可以使用特定日期创建日期对象。只需从当前时间中减去正确的毫秒数并将其传递给日期函数:
var d = new Date(new Date().getTime() - 1000*60*60*4);
或者您可以手动设置小时数
var d = new Date();
d.setHours((12 + (d.getHours() - 4))%12)
答案 2 :(得分:0)
这样的事情:
d.setHours(d.getHours()-4);