2008-12-11 20 views
9

मैं प्रारूप को खोए बिना डेटटाइम प्रकार में "16:20" जैसे स्ट्रिंग को परिवर्तित करने के बारे में यहां खोज रहा था, मैंने कहा कि मैं डीडी/एमएम/वाईई जोड़ना नहीं चाहता या सेकंड या एएम/पीएम, क्योंकि डीबी बस इस प्रारूप को स्वीकार करते हैं।एचएच जैसे डेटटाइम प्रारूप: एमएम 24 घंटे बिना एएम/पीएम

मैं अग्रिम में अभी तक

धन्यवाद संस्कृतियों के साथ की कोशिश की

उत्तर

12

सभी डेटटाइम ऑब्जेक्ट्स में दिनांक और समय होना चाहिए।

तुम सिर्फ समय, उपयोग TimeSpan चाहते हैं:

TimeSpan span = TimeSpan.Parse("16:20"); 

आप दिनांक समय चाहते हैं, न्यूनतम मान को उस समय जोड़ें:

TimeSpan span = TimeSpan.Parse("16.20"); 
DateTime dt = DateTime.MinValue.Add(span); 
// will get you 1/1/1900 4:20 PM which can be formatted with .ToString("HH:mm") for 24 hour formatting 
+0

मैं इसे आज़माउंगा, क्योंकि मैं देखता हूं कि अन्य डेवलपर जो सफेद सी ++ काम करता है, आपके द्वारा निर्दिष्ट डेटा को संग्रहीत कर रहा था। –

+0

जो काम करता है लेकिन AM/PM प्रारूप –

+1

के साथ सेट कर रहा है, अंतिम प्रारूप में AM/PM को निकालना संभव है? और इसे 24 घंटे बनाता है, अग्रिम धन्यवाद –

3

DateTime.Now.ToString ("hh: mm") - यदि यह सी # है।

ओह। केवल हेडर पढ़ें। प्रारूप

एक डाटाबेस आम तौर पर एक मानक आम प्रारूप है कि यहां तक ​​कि मानव नहीं है में सभी datetime मान संग्रहीत होगा खोने के बिना

:

DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0); 
+12

राजधानी ज 24 घंटे समय –

+0

के लिए की लेकिन इस स्ट्रिंग सही करने के लिए मूल्य कन्वर्ट? मैं इसे डेटाटाइम प्रकार सेट करना चाहता हूं क्योंकि मैं इस श्रेणी के लिए एक विशेषता रखता हूं जिसमें –

+0

के लिए एक विशेषता शामिल है, मुझे ग्रिडव्यू से मूल्य प्राप्त हो रहा है इस प्रकार: स्ट्रिंग घंटा = ((लेबल) चयनित Row.Cells [0] .FindControl (" lblHorario ")) पाठ। –

0

मैं अपने प्रश्न के इस भाग को संबोधित करना चाहते हैं पठनीय। यदि आप डेटाटाइम कॉलम का उपयोग करते हैं तो मूल प्रारूप नष्ट हो जाता है।

हालांकि, जब आप मूल्य पुनर्प्राप्त करते हैं तो आप इसे किसी भी प्रारूप में वापस लाते हैं। यदि आप HH:mm चाहते हैं तो आप इसे प्राप्त कर सकते हैं।

+0

मैंने सवाल तय किया ताकि जोएल की टिप्पणी के 'ढीले ढीले' हिस्से में अब कम समझ हो। –

1

"प्रारूप खोने" का क्या मतलब है।

यदि आप इसे डेटटाइम प्रकार में परिवर्तित करते हैं, तो डेटटाइम ऑब्जेक्ट में डीडी/एमएम/वाई और अन्य गुण होंगे। इस ऑब्जेक्ट का उपयोग करने की योजना बनाने के तरीके के आधार पर, आप स्ट्रिंग आउटपुट को स्वरूपित करके अपनी मूल सेटिंग्स को "पुनर्प्राप्त" कर सकते हैं: DT.ToString ("HH: mm");

1

चूंकि आप यह निर्धारित नहीं करते कि आप कौन से डीबीएमएस का उपयोग कर रहे हैं, यह जानना मुश्किल है कि कौन सा उत्तर आपकी मदद करेगा। यदि आप आईबीएम इनफॉर्मिक्स डायनामिक सर्वर का उपयोग करते हैं, तो आप बस डेटा प्रकार 'डेटाटाइम घंटा से MINUTE' का उपयोग करेंगे, जो 24 घंटे की घड़ी में मान रिकॉर्ड करेगा।

+0

लेकिन कोड पक्ष में linqtosql का उपयोग कर रहा हूं, इसलिए मुझे डीबी प्रकार के रूप में आवश्यक सभी डेटा पास करना होगा। –

1
DateTime.Parse("16:20") 
+0

मुझे यह आपके कोड स्निपेट के साथ मिल रहा है: 11/12/2008 04:20:00 पीएम। –

+0

मैं अभी भी उपयोगकर्ता कोड द्वारा स्वरूपित अपवाद को प्राप्त कर रहा हूं, वैसे ही मैंने दोनों पक्षों, सर्वर साइड और क्लाइंट साइड में डेटटाइम सेट किया है, तो फिर भी इस अपवाद को क्यों चल रहा है? –

17

बस अपने dateTime के लिए एक तिथि प्रारूप देना ।

string DateFormat = "yyyy MM d " यह विलल आपको वर्ष और दिन देता है। जारी रखने के बाद; string DateFormat = "yyyy MM d HH:mm:ss " यहाँ कैपिटल H आप 24 hours time format और छोटे "h" will give you the 12 hours time प्रारूप दे देंगे ...

जब आप एक स्ट्रिंग आप कर सकते हैं जो कुछ भी आप की तारीख और समय के साथ चाहते हैं के रूप में DateFormat दे।

string DateFormat = "yyyyMMdHHmmss"; 
string date = DateTime.Now.ToStrign(DateFormat); 

या

Console.writeline(DateTime.Now.ToStrign(DateFormat)); 

उत्पादन:

20120823132544 
+2

+1 "एचएच आपको 24 घंटे का प्रारूप देगा" कभी नहीं जानता था, धन्यवाद! –

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