我想調整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