2008 साल के लिए 60 मिनट सेट करने के लिए फ़ायरफ़ॉक्स 34 सेट मिनट दिनांक दिनांक विधि का एक अजीब व्यवहार है 01 जनवरी 23 घंटे 00 मिनट 00 सेकंड। यह उम्मीद है कि दिन में वृद्धि होगी लेकिन यह नहीं है।फ़ायरफ़ॉक्स 34 सेटमिन्यूट्स बीयूजी?
var initDate = [2008, 0, 1];
var d = new Date(initDate[0], initDate[1], initDate[2]);
document.body.innerHTML += d + "<br/>";
d.setHours(23);
d.setMinutes(60);
document.body.innerHTML += d + "<br/>";
फ़ायर्फ़ॉक्स 34 परिणाम है:
Tue Jan 01 2008 00:00:00 GMT+0300 (Russia TZ 2 Standard Time)
Tue Jan 01 2008 23:00:00 GMT+0300 (Russia TZ 2 Standard Time)
बजाय क्रोम 39.0.2171.71 की
मीटर:
Tue Jan 01 2008 00:00:00 GMT+0300 (Russia TZ 2 Standard Time)
Wed Jan 02 2008 01:00:00 GMT+0400 (Russia TZ 2 Daylight Time)
अगर मैं 2006 तक साल बदलने के परिणाम ठीक है:
Sun Jan 01 2006 00:00:00 GMT+0300 (Russia TZ 2 Standard Time)
Mon Jan 02 2006 00:00:00 GMT+0300 (Russia TZ 2 Standard Time)
http://jsfiddle.net/7dp8xvf8/1/
क्या यह एक बग है?
अद्यतन: आईई 8 और 9 का एक ही व्यवहार है, लेकिन 10-11 ठीक है।
स्पष्ट बिंदु है कि क्रोम ने टाइमज़ोन बदल दिया है लेकिन फ़ायरफ़ॉक्स नहीं है; मुझे लगता है कि आप उस स्थान पर हैं, उस समय कोई महत्वपूर्ण बदलाव था? मैं उस तारीख के आसपास ऑनलाइन कुछ भी नहीं ढूंढ पाया है। –
यदि आप '60% से कम सेट' सेट करते हैं तो आप क्या व्यवहार देखते हैं? (उदाहरण के लिए, 'd.setMinutes (58);' उत्पादन क्या करता है?) मुझे नहीं लगता कि मैं अपने ब्राउज़र के टाइमज़ोन/स्थान को बदले बिना आपकी स्क्रिप्ट का परीक्षण कर सकता हूं। – apsillers
@AdrianWragg मैं उस स्थान पर हूं लेकिन अंतिम फ़ायरफ़ॉक्स अद्यतन से पहले समस्या दिखाई नहीं दे रही है। –