DateTime.ToString ("dd / MM / yyyy") मुझे dd-MM-yyyy क्यों देता है?


155

मैं चाहता हूं कि मेरा डेटाटाइम एक स्ट्रिंग में परिवर्तित हो जाए जो प्रारूप "dd / MM / yyyy" में हो

जब भी मैं इसका उपयोग करके परिवर्तित करता DateTime.ToString("dd/MM/yyyy")हूं, मुझे dd-MM-yyyyइसके बजाय मिलता है ।

क्या किसी प्रकार की संस्कृति की जानकारी है जिसे मुझे सेट करना है?


do DateTime.ToString ("dd / MM / yyyy");
जिंप्लोड

2
मैंने ऐसा किया, यह काम नहीं किया, समस्या तारीखों की नहीं है, यह "-" है, मैं चाहता हूं कि यह "/" हो जैसा मैंने निर्दिष्ट किया है
डिस्कड्राइव

7
मिमी के बजाय MM का उपयोग करें - मिमी मिनटों का प्रतिनिधित्व करता है और महीनों का नहीं।
लॉयड पॉवेल


DateTime.ToString के लिए MSDN प्रलेखीकरण बुरी गलत है: " उदाहरण के लिए," dd / MM / yyyyHH: मिमी "प्रारूप स्ट्रिंग प्रदर्शित करता है एक निश्चित प्रारूप में दिनांक और समय स्ट्रिंग ... प्रारूप स्ट्रिंग का उपयोग करता है" / "एक निश्चित रूप में दिनांक-विभाजक संस्कृति-विशिष्ट सेटिंग की परवाह किए बिना। "
कर्नल पैनिक

जवाबों:


243

स्लैश एक तारीख परिसीमन है, इसलिए यह वर्तमान संस्कृति की तारीख परिसीमन का उपयोग करेगा।

यदि आप इसे हमेशा स्लैश का उपयोग करने के लिए हार्ड-कोड करना चाहते हैं, तो आप कुछ इस तरह से कर सकते हैं:

DateTime.ToString("dd'/'MM'/'yyyy")

2
@ स्पेंडर - कुछ संस्कृतियों में वे हैं।
डैनियल ए। व्हाइट

आपके त्वरित उत्तर के लिए धन्यवाद। तुम सही हो। मैं आपको सही उत्तर दूंगा
Diskdrive

6
आप इस प्रारूप का उपयोग भी कर सकते हैं: dateTime.ToString (@ "yyyy \ / MM \ / dd")
base2


2
बैकस्लैश का उपयोग करके प्रारूप स्ट्रिंग से बचना भी काम करता है: DateTime.Now.ToString ("dd \\ / MM \\ / yyyy");
टॉमबी

61

दर्रा CultureInfo.InvariantCulture दिनांक समय के दूसरे पैरामीटर के रूप में, यह आप क्या चाहते हैं, यहां तक कि एक बहुत ही खास प्रारूप के रूप में स्ट्रिंग वापस आ जाएगी:

DateTime.Now.ToString("dd|MM|yyyy", CultureInfo.InvariantCulture)

वापस आएगा: 28 | 02 | 2014 |


यह कोड स्वीकृत उत्तर की तुलना में अधिक स्पष्ट है (मेरा मतलब है कि संस्कृतिइन्फो जोड़ा गया है)। यह प्रेरितों द्वारा स्लैश से बचने से कम से कम बेहतर दिखता है।
सेर्गी

2
भागने के पात्रों का उपयोग करने की तुलना में निश्चित रूप से पढ़ने में आसान है। मैं थोड़ा हैरान हूं कि मुझे पूरे समय पता नहीं चला कि मेरी तारीख के प्रारूप ओवरराइट होने वाले थे!
सैवेज

10

CultureInfo.InvariantCultureएक तर्क के रूप में जोड़ें :

using System.Globalization;

...

var dateTime = new DateTime(2016,8,16);
dateTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);

वापस होगा:

"16/08/2016"

अगर डेवलपर कुछ अक्षरों के साथ एम एम एस आदि का उपयोग करता है, तो उदाहरण के लिए आपके समाधान के साथ गलत परिणाम प्राप्त होगा। / ०२ / महीना यह २०१ will / ०१ / ०२ / २ महीने का परिणाम होगा
ओकेन सारिका

@OkanSARICA यदि आप "/ महीना" के साथ तारीख को प्रत्यय देना चाहते हैं, तो आपको इसे ToString विधि के बाद करना चाहिए। DateTime.Now.ToString ("yyyy / MM / dd", CultureInfo.InvariantCulture) + "/ महीना";
मिकेल एंगवर

1

यदि आप MVC, तालिकाओं का उपयोग करते हैं, तो यह इस तरह काम करता है:

<td>@(((DateTime)detalle.fec).ToString("dd'/'MM'/'yyyy"))</td>

-3

गूंगा प्रश्न / उत्तर शायद, लेकिन क्या आपने कोशिश की है dd/MM/yyyy? पूंजीकरण पर ध्यान दें।

mmएक अग्रणी शून्य के साथ मिनटों के लिए है। इसलिए मुझे संदेह है कि आप क्या चाहते हैं।

यह मददगार हो सकता है: http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.