2012-10-20 13 views
5

मेरा सिस्टम दिनांक प्रारूप डीडी-एमएम-वाईय (20-10-2012) है और मुझे तिथि, महीने और वर्ष को विभाजित करने के लिए दिनांक और विभाजक का उपयोग कर रहा है। मुझे दिनांक प्रारूप (डीडी/एमएम/yyyy) रूपांतरित करने की जरूरत है कि प्रारूप किसी भी दिनांक प्रारूप पर लौटता है।सिस्टम दिनांक और विभाजित दिन, महीना और वर्ष

string sDate = string.Empty; 
DateTime _date = DateTime.Now; 
int count = 0; 
string format = "dd-MM-yyyy"; 
sDate = dateFormat.ToString(format); 
string[] Words = sDate.Split(new char[] { '-' }); 
foreach (string Word in Words) 
{ 
    count += 1; 
    if (count == 1) { Day = Word; } 
    if (count == 2) { Month = Word; } 
    if (count == 3) { Year = Word; } 
} 
+1

डुप्लिकेट की: http: //stackoverflow.com/questions/12985802/im-getting-cultureinfo-invariantculture-format-for-mm-dd-yyyy-but-i-want- टू-जी – SearchAndResQ

+4

यदि आपके पास पहले से ही 'डेटटाइम' ऑब्जेक्ट है, तो आप इसे परिभाषित गुणों का उपयोग क्यों नहीं कर सकते? 'वर्ष', 'महीना' और 'दिन' आपको उन मूल्यों को देना चाहिए जो आपको सीधे चाहिए। मुझे उस स्ट्रिंग में कनवर्ट करने का बिंदु दिखाई नहीं देता है जिसे आप पहले से आसानी से पहुंचने वाले डेटा को निकालने के साथ गड़बड़ करते हैं। – Oded

+0

@ ओडेड मैं पूरी तरह से आपसे सहमत हूं ..... – Ram

उत्तर

6

आप DateTime.TryParseExcact उपयोग करें यदि आप प्रारूप जानते हैं, या नहीं तो और सिस्टम सेटिंग्स DateTime.TryParse उपयोग करना चाहते हैं चाहिए। और तिथि को मुद्रित करने के लिए, DateTime.ToString तर्क में सही प्रारूप के साथ। वर्ष, महीने या दिन प्राप्त करने के लिए आपके पास DateTime.Year, DateTime.Month या DateTime.Day है।

अतिरिक्त संदर्भों के लिए एमएसडीएन में DateTime Structures देखें।

+2

+1 अपनी खुद की तारीख/समय हैंडलिंग कोड रोल न करें। –

11

आप का पालन की तरह कर सकते हैं:

String date = DateTime.Now.Date.ToString(); 
    String Month = DateTime.Now.Month.ToString(); 
    String Year = DateTime.Now.Year.ToString(); 

आप अपने स्तंभ का उपयोग कर सकते datetime के स्थान पर ..

+0

आपके उदाहरण में दौड़ की स्थिति है, कुछ दिनों में मध्यरात्रि के बहुत करीब है। –

1

मेरे मस्तिष्क की जांच करने के एक IDE खोलने के बिना दिन के इस समय में वाक्य रचना के लिए ठीक से काम करता ...

यदि आप बस किसी विशेष प्रारूप में तारीख चाहते हैं तो आप DateTime's .ToString(string format) का उपयोग कर सकते हैं। यदि आप उस लिंक का पालन करते हैं तो मानक और कस्टम स्वरूपण तारों के कई उदाहरण हैं।

तो

DateTime _date = DateTime.Now; 
var _dateString = _date.ToString("dd/MM/yyyy"); 

आप प्रारूप आप अनुरोध में एक स्ट्रिंग के रूप तारीख देना होगा।

15

यहाँ आप के लिए क्या देख रहे है:

String sDate = DateTime.Now.ToString(); 
DateTime datevalue = (Convert.ToDateTime(sDate.ToString())); 

String dy = datevalue.Day.ToString(); 
String mn = datevalue.Month.ToString(); 
String yy = datevalue.Year.ToString(); 

या

वैकल्पिक रूप से, आप विभाजन समारोह split string date into day, month and year करने के लिए यहाँ उपयोग कर सकते हैं।

आशा है, यह आपकी मदद करेगा ... चीयर्स। !!

+0

मैं कठोर होना नहीं चाहता, लेकिन क्या आप जानते हैं कि आपका कोड स्निपेट क्या करता है? आप डेटटाइम ऑब्जेक्ट क्यों बनाते हैं, फिर टूस्टिंग() को दो बार कॉल करें और इसे डेटटाइम पर वापस कनवर्ट करें ताकि आप ToString() को तीसरे बार कॉल कर सकें? आपको बस दिनांक की तारीख है Value = DateTime.अब; –

+0

@BojidarStanchev प्रिय मैं उपयोगकर्ता द्वारा पूछे जाने वाले इनपुट इनपुट के रूप में दिनांक स्ट्रिंग (हालांकि यह डेटटाइम ऑब्जेक्ट) की अपेक्षा कर रहा हूं। तो यह केवल उपयोग के मामले के लिए है। मैं रन टाइम पर विभिन्न प्रकार के संस्कृति प्रारूपों के साथ उपयोगकर्ता को परेशान नहीं करना चाहता था। तो यह सिर्फ एक बुनियादी नियम था। मुख्य उद्देश्य यह दिखाने के लिए था कि दिन, महीना, वर्ष को आसानी से डेट स्ट्रिंग से अलग कैसे किया जाए! –

3

आप इस प्रकार आज की तारीख से महीने साल तारीख विभाजित कर सकते हैं:

DateTime todaysDate = DateTime.Now.Date;

दिन:

int day = todaysDate.Day;

महीना:

int month = todaysDate.Month;

वर्ष:

int year = todaysDate.Year;

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