DateTime issue on different platforms (.NET 2.0) -
एक 32 बिट ओएस पर, इंटेल प्रोसेसर के साथ, डेटटाइम उदा। 2/17/2009 12:00:00 पूर्वाह्न सूचना है कि यह है: मिमी / डीडी / yyyy
एक 64 बिट ओएस पर, एक AMD प्रोसेसर के साथ, डेटटाइम उदा। 17-02-2009 00:00:00
अब जब मैं 1 प्रारूप को पार्स करने की कोशिश करता हूं, तो दूसरी प्लेटफार्म पर एक त्रुटि फेंकता है। इसका अर्थ है - दिनांकटाइम। पर्से ("2/17/2009 12:00:00 पूर्वाह्न") - एक त्रुटि फेंकता है - कन्वर्ट नहीं कर सकता जबकि, एक ही मंच पर, DateTime.Parse ("17/2/2009 12:00:00 पूर्वाह्न") काम करता है! इसका मतलब है कि डीडी / एमएम ठीक है, एमएम / डीडी नहीं है।
इसका कारण क्या है? 64-बिट ओएस? प्रोसेसर?
मैं कैसे इस समस्या से छुटकारा पा सकता हूं?
दिनांक समय स्वयं प्रारूप नहीं है आप उन्हें पार्स या स्ट्रिंग में उन्हें प्रारूपित करते हैं। (यह संख्याओं की तरह है - पूर्णांक हेक्स या दशमलव में संग्रहीत नहीं हैं, वे सिर्फ पूर्णांक हैं। आप उन्हें हेक्स या दशमलव में प्रारूपित कर सकते हैं, लेकिन मूल्य केवल एक संख्या है।)
प्रारूप ऑपरेटिंग सिस्टम की संस्कृति (या अधिक सटीक रूप से, थ्रेड की संस्कृति, जो आम तौर पर ऑपरेटिंग सिस्टम के समान होती है) पर निर्भर करती है।
व्यक्तिगत रूप से मैं स्पष्ट रूप से मेरे लिए उपयोग किए जाने वाले प्रारूप को सेट करना चाहता हूं पार्सिंग या स्वरूपण, जब तक कि मैं वास्तव में उपयोगकर्ता को स्ट्रिंग प्रदर्शित नहीं कर रहा हूं और यह जानूं कि संस्कृति पहले से ही उपयुक्त है।
Comments
Post a Comment