लोटस 1-2-3 के साथ दिन में संगतता बनाए रखना, जिसमें एक बग था जिसमें उसने सोचा था कि वर्ष 1900 एक लीप वर्ष था (या दिखावा?)।
स्पष्टीकरण उद्धृत करने के लिए बहुत लंबा है, लेकिन जिज्ञासा के लिए, यहां कुछ अंश दिए गए हैं।
-
http://blogs.msdn.com/b/ericlippert/archive/2003/09/16/53013.aspx
-
http://www.joelonsoftware.com/items/2006/06/16.html
1900 एक लीप वर्ष नहीं था।
"यह एक्सेल में एक बग है!" मैंने कहा।
"ठीक है, वास्तव में नहीं," एड ने कहा। "हमें इसे इस तरह से करना पड़ा क्योंकि हमें लोटस 123 वर्कशीट आयात करने में सक्षम होने की आवश्यकता है।"
"तो, यह लोटस 123 में एक बग है?"
"हाँ, लेकिन शायद एक जानबूझकर। कमल को 640K में फिट होना था। यह बहुत अधिक स्मृति नहीं है। यदि आप 1900 को अनदेखा करते हैं, तो आप यह पता लगा सकते हैं कि क्या दिया गया वर्ष एक लीप वर्ष है, यह देखने के लिए कि क्या सबसे सही दो बिट्स हैं शून्य हैं। यह वास्तव में तेज़ और आसान है। लोटस लोगों को शायद लगा कि यह उन दो महीनों के लिए गलत नहीं था। ऐसा लगता है कि बेसिक लोग उन दो महीनों के बारे में गुदा बनना चाहते थे, इसलिए उन्होंने स्थानांतरित कर दिया युग एक दिन पहले।"
- http://www.cpearson.com/excel/datetime.htm
दरअसल, यह संख्या दिनों की वास्तविक संख्या से एक ज्यादा है। ऐसा इसलिए है क्योंकि एक्सेल ऐसा व्यवहार करता है जैसे कि 1900-फरवरी -29 की तारीख मौजूद थी। मैंने नहीं किया। वर्ष 1900 कोई लीप वर्ष नहीं था (वर्ष 2000 एक लीप वर्ष है)। एक्सेल में, 1900-फरवरी-28 के बाद का दिन 1900-फरवरी-29 है। दरअसल, 1900-फरवरी-28 के बाद का दिन 1900-मार्च-1 था। यह एक बग नहीं है"। दरअसल, यह डिजाइन द्वारा है। एक्सेल इस तरह से काम करता है क्योंकि यह वास्तव में लोटस 123 में एक बग था। जब एक्सेल को पेश किया गया था, तो 123 में स्प्रेडशीट सॉफ्टवेयर के लिए लगभग पूरा बाजार था। माइक्रोसॉफ्ट ने लोटस की बग को जारी रखने का फैसला किया, ताकि पूरी तरह से संगत हो सके। 123 से एक्सेल में स्विच करने वाले यूजर्स को अपने डेटा में कोई बदलाव नहीं करना होगा। जब तक आपकी सभी तिथियां 1900-मार्च-1 के बाद की हैं, तब तक यह कोई चिंता का विषय नहीं होना चाहिए।