2016-02-13 9 views
6

से पहले मिनडेट सेट करने के लिए कैसे मैं genealogical tree app बना रहा हूं, और मुझे इस तिथि से पहले तक पहुंचने की आवश्यकता है। मैं टेक्स्टबॉक्स + टेक्स्ट-डेट रूपांतरण की बजाय डेटटाइम पिकर पसंद करूंगा।डेटटाइम पिकर: 1753

क्या इस सीमा को रोकने के लिए वैसे भी है?

+6

नहीं, हार्ड सीमा। 1753 वह साल था जब इंग्लैंड ने जूलियन से ग्रेगोरियन कैलेंडर में स्विच किया, जिससे 15 दिन गुम हो गए। एक सिबेज प्रोग्रामर द्वारा ब्लैक होल टावर, कंपनी जिसने SQL सर्वर शुरू किया। आपको अपना खुद का बनाना होगा। –

+1

आपको एक वर्ष, महीना और दिन की संपत्ति के साथ तारीखों को संभालने के लिए अपना खुद का डेटा प्रकार बनाना होगा। आप तुलनात्मक(), और AddYears(), AddDays() इत्यादि जैसे सरल कार्यों के लिए अपनी विधियों और गुणों को भी रोल कर सकते हैं दुर्भाग्य से इसका मतलब है कि उन तिथियों को संपादित करने के लिए अपना कैलेंडर नियंत्रण बनाना। – Mangist

उत्तर

2

दुर्भाग्य से, DateTimePicker नियंत्रण 1 जनवरी 1753 से पहले दिनांक का समर्थन नहीं करता इस ComCtl32 Common Controls library में Date and Time Picker और Month Calendar नियंत्रण में सीमाओं के कारण अंत में है। वे नियंत्रण 1753 से पहले तिथियों का समर्थन नहीं करते हैं क्योंकि यह ग्रेगोरियन और जूलियन कैलेंडर के बीच विभाजित रेखा है। चूंकि नियंत्रण ग्रेगोरियन कैलेंडर पर आधारित होते हैं, इसलिए वे जूलियन कैलेंडर के अनुरूप तारीखों की गणना नहीं करते हैं।

इसका कारण .NET कोड को प्रभावित करता है क्योंकि DateTimePicker कक्षा निचले स्तर comctl32 नियंत्रणों के चारों ओर एक रैपर है। प्रासंगिक कोड here है।

दुःख की बात है इस सीमा भी the Mono implementation of the control में ले जाया जाता है, तो भले ही आप मोनो लिनक्स या मैक पर के माध्यम से DateTimePicker उपयोग करते हैं, यह अभी भी दिनांकों तो पहले ऑपरेटिंग सिस्टम में एक comctl32.dll की कमी के बावजूद अनुमति नहीं दी जाएगी।

ऐसा लगता है कि टेलीरिक के पास their own DateTimePicker control है। यह जांच के योग्य हो सकता है। दस्तावेज़ों के त्वरित स्कैन के बाद, हालांकि, मुझे नहीं लगता कि इसकी सीमाएं क्या हैं, यदि कोई हो।

संबंधित मुद्दे