我一個JavaScript Date對象等於00:30時並執行:增加30分鐘時間使其回去30分鐘
date.setMinutes(date.getMinutes() + 30);
導致日期對象等於00:00。
有誰知道爲什麼會發生這種情況?
這裏是正在使用的代碼:
for (var i = openTime; i <= closeTime; i.setMinutes(i.getMinutes() + timeIncrement)) {
var time = i.getHours() + (i.getHours() == 0 ? '0' : '') + ':' + i.getMinutes() + (i.getMinutes() == 3 || i.getMinutes() == 0 ? '0' : '');
$(timeClientId).append($('<option />').val(time).text(time));
}
以上腳本創建從上午10點的可用時間列表一路到第二天上午02點00分。
它運行正常,直到它許多成功迭代後到達午夜00:00。
任何人都可以幫忙嗎?
謝謝!
接聽/ SOLUTION:
此問題是由於夏令問題,所以這個週六的時鐘往前走。出於某些奇怪的原因,當將時間增加30分鐘到12:30時,使用.setMinutes()重置爲12:00。這使它無限循環。 解決的辦法是添加使用 i.setTime(i.getTime()+ timeIncrement * 60 * 1000) 這個排序的問題分鐘。
乾杯所有的答案!
謝謝您的回答。你會如何將時間增加30分鐘? – Base33 2012-03-22 10:32:11
添加了一個示例。 – Karlth 2012-03-22 10:46:55
謝謝。這也是正確的。 – Base33 2012-03-22 13:52:10