कुछ खुदाई के बाद और मैं स्थापित करने समाप्त हो गया Thread
है CurrentCulture मूल्य के लिए CultureInfo ( "en-US") नियंत्रक की कार्रवाई विधि में:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US")
यहां कुछ अन्य विकल्प दिए गए हैं यदि आप चाहते हैं कि यह सेटिंग हर दृश्य पर हो।
CurrentCulture
संपत्ति मूल्य के बारे में :
CultureInfo उद्देश्य यह है कि एक साथ उसके संबंधित वस्तुओं के साथ, इस संपत्ति के द्वारा दिया जाता है, दिनांक, समय, संख्या, मुद्रा मानों, पाठ की छंटाई क्रम आवरण सम्मेलनों, और स्ट्रिंग तुलना के लिए डिफ़ॉल्ट स्वरूप निर्धारण करते हैं।
स्रोत: एमएसडीएन करंटकल्चर
नोट: पिछली CurrentCulture
संपत्ति सेटिंग संभवतः वैकल्पिक है यदि नियंत्रक पहले से CultureInfo("en-US")
या उसी तरह से चल रहा है जहां दिनांक प्रारूप है "MM/dd/yyyy"
।
CurrentCulture
प्रॉपर्टी सेट करने के बाद , "M/d/yyyy"
व्यू में प्रारूप की तारीख बदलने के लिए कोड ब्लॉक जोड़ें :
@{
var shortDateLocalFormat = "";
if (Model.AuditDate.HasValue) {
shortDateLocalFormat = ((DateTime)Model.AuditDate).ToString("M/d/yyyy");
}
}
@shortDateLocalFormat
@shortDateLocalFormat
चर के ऊपर ToString("M/d/yyyy")
कार्यों के साथ स्वरूपित किया गया है। यदि ToString("MM/dd/yyyy")
उपयोग किया जाता है, जैसे कि मैंने पहले किया था तो आप अंत में अग्रणी शून्य अंक रखते हैं । साथ ही टॉमी द्वारा अनुशंसित भी ToString("d")
काम करता है। वास्तव में "शॉर्ट डेट पैटर्न""d"
के लिए खड़ा है और विभिन्न संस्कृति / भाषा प्रारूपों के साथ भी इस्तेमाल किया जा सकता है।
मुझे लगता है कि ऊपर से कोड ब्लॉक को कुछ शांत सहायक विधि या समान के साथ प्रतिस्थापित किया जा सकता है ।
उदाहरण के लिए
@helper DateFormatter(object date)
{
var shortDateLocalFormat = "";
if (date != null) {
shortDateLocalFormat = ((DateTime)date).ToString("M/d/yyyy");
}
@shortDateLocalFormat
}
इस सहायक कॉल के साथ इस्तेमाल किया जा सकता है
@DateFormatter(Model.AuditDate)
अद्यतन , मुझे पता चला कि जब DateTime.ToString (स्ट्रिंग, IFormatProvider) विधि का उपयोग किया जाता है , तो वही काम करने का वैकल्पिक तरीका है। जब इस विधि का इस्तेमाल किया जाता है तो उपयोग करने के लिए कोई आवश्यकता नहीं है Thread
की CurrentCulture
संपत्ति। CultureInfo("en-US")
दूसरा तर्क के रूप में पारित हो जाता है -> IFormatProvider लिए DateTime.ToString(String, IFormatProvider)
विधि।
संशोधित सहायक विधि:
@helper DateFormatter(object date)
{
var shortDateLocalFormat = "";
if (date != null) {
shortDateLocalFormat = ((DateTime)date).ToString("d", new System.Globalization.CultureInfo("en-US"));
}
@shortDateLocalFormat
}
.NET फेल्ड
No overload for method 'ToString' takes 1 arguments