我想调整Date
对象始终为4小时的偏移量。我将如何实现这一目标?更改日期以使所有小时数偏移4小时
var d = new Date();
// d would be 4 hours in the past
我想调整Date
对象始终为4小时的偏移量。我将如何实现这一目标?更改日期以使所有小时数偏移4小时
var d = new Date();
// d would be 4 hours in the past
您可以使用特定日期创建日期对象。刚刚从当前时间减去正确毫秒并传递到日期功能:
var d = new Date(new Date().getTime() - 1000*60*60*4);
,或者您也可以手动设置时间
var d = new Date();
d.setHours((12 + (d.getHours() - 4))%12)
这只改变了一个'Date'实例,我认为这不是OP想要的。 – 2012-01-05 21:26:51
@MДΓΓБДLL我明白你的意思,但这是它应该如何完成的。使用日期对象的实例。 – 2012-01-05 21:31:32
我需要修改Date对象。这很丑陋,但我必须做的才能完成这项工作。谢谢, – user721081 2012-01-09 23:34:22
事情是这样的:
d.setHours(d.getHours()-4);
这只改变了一个'Date'实例,我认为这不是OP想要的。 – 2012-01-05 21:27:15
我需要对所有Date对象进行更改。 – user721081 2012-01-09 23:53:05
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()
我无法修改系统时间。我正在使用机顶盒,时间总是在格林尼治标准时间。对于所有Date对象,我需要过去4个小时的时间。我知道这是丑陋的,违背最佳做法,但这是我必须做的...... – user721081 2012-01-09 23:25:46
上述日期功能不起作用。 – user721081 2012-01-09 23:41:31
你不能,没有一些真难看黑客修复它。你试图解决的更大的问题是什么?此外,改变'日期'的行为打破了记录在案的现有合同,违反了最不惊人的原则,以及被广泛认为是好事的一大堆其他事物。 – 2012-01-05 21:26:17
'开始 - >控制面板 - >日期/时间设置' – 2012-01-05 21:26:43
你/实际/正在做什么? – Dan 2012-01-06 03:23:43