2010-03-26 6 views
6

मैं अपने फार्म पर DateTimePicker है और मैं "dd/mm/yyyy" चींटी के लिए कस्टम प्रारूप संपत्ति के लिए एक मूल्य सेट जब मैं इस कोड चलाएँ:(.NET) में केवल तारीख को DateTimePicker मान सेट कैसे

"2010/03/26 1:26 PM":

MessageBox.Show(dateTimePicker1.Value.ToString());

मैं इस मूल्य मिलता है।

मैं मूल्य से समय का हिस्सा कैसे हटा सकता हूं।

मैं जानता हूँ कि हम इस विधि

dateTimePicker1.Value.ToShortDateString(); 

उपयोग कर सकते हैं, लेकिन मैं इस प्रारूप "dd/mm/yyyy" तो उत्पादन की तरह इस "26/3 हो जाएगा करने के लिए मूल्य संपत्ति सेट करना चाहते हैं/2010 ", क्योंकि मैं अपने डीबी (एसक्यूएल)

में मान को स्टोर करना चाहता हूं, मैं इसे कैसे कर सकता हूं?

+0

यदि आप अपने डीबी में अपने 'System.DateTime' के दिनांक भाग को स्टोर करना चाहते हैं, तो आप डीबी में स्वरूपित स्ट्रिंग क्यों लेते हैं? ... बल्कि 'dateTimePicker1.Value का उपयोग करें।दिनांक' और फिर इसे अपने कॉलम में संग्रहीत करें (जो कि तिथि या तिथि हो सकती है - जो भी आपकी डीबी अनुमति देता है) –

उत्तर

12

इस दिनांक-समय मान का दिनांक भाग प्राप्त करने के लिए dateTimePicker1.Value.Date का उपयोग करें।

नोटिस करें, यदि आप तारों में पार्स करना चाहते हैं, तो dateTimePicker1.Value.Date.ToString का उपयोग करके "26/03/2010 00:00:00" स्ट्रिंग का परिणाम होगा, जबकि MyString = CStr(dateTimePicker1.Value.Date) जैसे कुछ का उपयोग करते हुए माईस्ट्रिंग "26/03/2010 "।

1

सिर्फ MessageBox.Show(dateTimePicker1.Value.ToString("dd/MM/yyyy"));

+0

मैं यह करना चाहता हूं: datetimepicker.value = 26/03/2010 क्या कोई ऐसा तरीका है जो मैं कर सकता हूं ? – salhzmzm

+0

datetimepicker.Value = new DateTime (2010, 3, 26); या datetimepicker.Value = Convert.ToDateTime ("26/03/2010"); – PierrOz

+3

नीचे की तरह ParseExact का उपयोग करें। पहले पैरामीटर में दिनांक स्ट्रिंग को अपने प्रोग्राम में जो स्ट्रिंग वैरिएबल है, उसके साथ बदलें। डेटटाइम dtResult = DateTime.ParseExact ("26/03/2010", "डी/एम/yyyy", CultureInfo.InvariantCulture); अधिक जानकारी के लिए यहां देखें http://msdn.microsoft.com/en-us/library/system.datetime.parseexact.aspx –

4

मैं तुम्हें वर्तमान दिनांक और समय के साथ DateTimePicker प्रारंभ मान:

dateTimePicker1.Value = DateTime.Now; 

इसके बजाय, आज की तारीख के साथ प्रारंभ:

dateTimePicker1.Value = DateTime.Today; 

क्या होता है के रूप में है निम्नानुसार है:

  • यदि उपयोगकर्ता कोई दिनांक चुनता है, तो DateTimePicker.Value संपत्ति हमेशा दिन के घटक के साथ एक तिथि लौटाएगी, और DateTime.KindUnspecified पर सेट हो जाएगी।

  • यदि उपयोगकर्ता कोई दिनांक नहीं चुनता है, तो DateTimePicker.Value संपत्ति DateTimePicker.Value संपत्ति को प्रारंभ करने के लिए उपयोग किए गए मान को वापस कर देगी। यदि आप इसे DateTime.Now के साथ प्रारंभ करते हैं, तो इसमें दिन का समय होगा, और DateTime.KindLocal पर सेट हो जाएगा।

0

आप डेटाबेस में डेटा-प्रकार के रूप में स्ट्रिंग है:

dateTimePicker1.Value.Date.ToString("d"); 

तो डेटाप्रकार दिनांक समय है:

dateTimePicker1.Value.Date; 

दोनों dd/mm/समय बिना yyyy प्रारूप में तिथि वापस आ जाएगी।

+0

शायद आप यह समझा सकते हैं कि यह ओपीएस प्रश्न का उत्तर कैसे देता है? इसके अलावा - क्या होता है यदि उपयोगकर्ता के पास उनकी मशीन पर एक अलग संस्कृति है? –

+3

हालांकि यह कोड प्रश्न का उत्तर दे सकता है, इस सवाल का जवाब दे सकता है कि क्यों और/या यह प्रश्न का उत्तर कैसे देता है, इसके दीर्घकालिक मूल्य में काफी सुधार होगा। कुछ स्पष्टीकरण जोड़ने के लिए कृपया अपना उत्तर संपादित करें। – CodeMouse92

+0

@ जेसनएमसी 9 2 धन्यवाद, मैं स्टैक ओवरफ्लो के लिए नया हूं। मैंने कुछ स्पष्टीकरण जोड़ा। – Trushant04

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