केवल DateTime ऑब्जेक्ट में C # में दिनांक का समय भाग कैसे निकालें?


457

मुझे दिनांक समय के भाग को निकालने की आवश्यकता है या संभवत: निम्नलिखित प्रारूप में दिनांक objectके रूप में है string

06/26/2009 00:00:00:000

मैं किसी भी stringरूपांतरण विधियों का उपयोग नहीं कर सकता क्योंकि मुझे objectफॉर्म में तारीख की आवश्यकता है ।

मैं पहली बार परिवर्तित करने की कोशिश की DateTimeएक करने के लिए stringहै, यह समय विशिष्ट तिथि को दूर है, लेकिन यह कहते हैं 12:00:00 AMजैसे ही मुझे वापस करने के लिए परिवर्तित DateTime objectफिर से वापस।


10
C # में कोई दिनांक-केवल वर्ग / संरचना नहीं है। यदि आप एक होना चाहते हैं, तो आपको अपनी कक्षा / संरचना को जोड़ना होगा।
12सचरी

12
बस DateTime.Now.ToShortDateString () का उपयोग करें
मोहम्मद शाहनवाज़ आलम

@ शहनवाज़आलम मेरा मानना ​​है कि यह अभी भी एक स्ट्रिंग है, मुझे डेटटाइम के साथ भी परेशानी हुई।

यह उत्तर भी देखें जिसमें विकल्पों का वर्णन है।
मैट जॉनसन-पिंट

var dateTime = DateTime.Now.Date;
प्रथापग

जवाबों:


825

दिनांक संपत्ति का उपयोग करें :

var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;

dateचर तिथि में शामिल होंगे, समय हिस्सा होगा 00:00:00


36
क्या प्रश्नकर्ता द्वारा उल्लिखित समय 12:00:00 बजे तक नहीं होगा?
फियरे पांडा

13
समय भाग शून्य (मध्यरात्रि) है। जब इसे AM / PM प्रारूप का उपयोग करते हुए एक स्ट्रिंग के रूप में स्वरूपित किया जाता है, तो इसे 12 AM के रूप में दर्शाया जाता है।
सूतक

98
इस सवाल का जवाब नहीं है। जैसा कि जवाब से पता चलता है, DateTime.Date (जो स्वयं एक DateTime है!) का एक समय हिस्सा 00:00:00 तक डिफ़ॉल्ट होता है। बल्कि as होनी चाहिए: DateTime के साथ, आप नहीं कर सकते। अपनी खुद की संरचना का निर्माण, या नोदा समय पर एक नज़र है।
टॉमस विंटर सेप

23
@TomasVinter सही है। .NET फ्रेमवर्क में "सख्ती से तारीख" संरचना नहीं है। आपको अपना खुद का बनाना होगा। हालाँकि, DateTime .ToShortDateTime () विधि को उजागर करता है, जो मूल्य के केवल दिनांक भाग का प्रतिनिधित्व करने वाले एक स्ट्रिंग को प्रारूपित करेगा, और वर्तमान संस्कृति (थ्रेड.Current.CurrentCulture) में कॉन्फ़िगर की गई DateFormat का उपयोग करके दिनांक को प्रारूपित करेगा, इसलिए MM-dd। अमेरिका के लिए -yyy, यूरोपीय संघ के लिए dd-MMM-yyyy, आदि
माइकल जे। Heier

16
यह कहने वालों के लिए कि यह सही उत्तर नहीं है: उत्तर सही है, लेकिन प्रश्न गलत है। यह विषय के प्रश्नकर्ता की अज्ञानता को प्रदर्शित करता है। ऑब्जेक्ट फॉर्म में तारीख के लिए कोई प्रारूप नहीं है। प्रारूप केवल तभी सार्थक होता है जब इसे एक स्ट्रिंग में परिवर्तित किया जाता है। उसकी वस्तु में वास्तव में जो संग्रहीत है 06/26/2009 00:00:00.000, वह नहीं है , लेकिन 63381571200000000, DateTime.MinValue(01/01/0001) के बाद से टिक्स की संख्या (एक सेकंड का 1/100000000 वां) है। यदि आप तिथि प्रदर्शित करने जा रहे हैं तो इसे एक स्ट्रिंग में बदल दें, अन्यथा, इसमें मध्यरात्रि का समय घटक है। हालत से समझौता करो।
CptRobby

165

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

DateTime dateAndTime = DateTime.Now;
Console.WriteLine(dateAndTime.ToString("dd/MM/yyyy")); // Will give you smth like 25/05/2011

कस्टम दिनांक और समय प्रारूप स्ट्रिंग के बारे में और पढ़ें ।


48
DateAndTime.ToShortDateString ();
जॉन पीटर्स

मुझे इसकी जरूरत थी, लेकिन CultureInfo.DateTimeFormat.ShortDatePatternयूजर फ्रेंडली हुआ करता था
Dzmitry Lahoda

यह उन स्थानों पर गलत आउटपुट देगा जो इस प्रारूप का उपयोग नहीं करते हैं। ToShortDateString का उपयोग करने के लिए बेहतर है जो स्थानीय रूप से अवगत है
मैट विल्को

1
सुनिश्चित करें कि आप प्रारूप dd/MM/yyyyका उपयोग करने से पहले आप क्या चाहते हैं!
slayernoah

.ToString()वांछित प्रारूप के साथ वास्तव में मुझे क्या चाहिए, धन्यवाद!
विलेम एलिस

108

ToShortDateString विधि का उपयोग करें। प्रलेखन देखें http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestest.nic.in

var dateTimeNow = DateTime.Now; // Return 00/00/0000 00:00:00
var dateOnlyString = dateTimeNow.ToShortDateString(); //Return 00/00/0000

2
ToShortDateStringलागू नहीं होता IFormatProvider: /
मुफ्लिक्स

मेरे मामले में, यह 00.00.0000 लौटा, 00/00/0000 नहीं
उल्टा

39

DateTime.Date प्रॉपर्टी पर एक नज़र डालें ।

इस उदाहरण की दिनांक घटक प्राप्त करता है।


20
आपको अधिक समझाना चाहिए, यह एक उत्तर नहीं है यह एक लिंक है
मालाची

27
@ मलाईची: मैंने लिंक ऑफिशियल एपीआई से पहली पंक्ति को कॉपी किया है और सिर्फ उसी स्थिति में किया है जब लोग हाइपरलिंक को नहीं समझते हैं।
निक

var dateTime = DateTime.Now.Date;
प्रतापगृह

29

Dateसंपत्ति आधी रात को तिथि वापस आ जाएगी।

एक विकल्प अलग-अलग मूल्यों (दिन / महीने / वर्ष) को प्राप्त करने और इसे उस प्रकार संग्रहीत करने का हो सकता है जिसे आप चाहते हैं।

var dateAndTime = DateTime.Now; 
int year = dateAndTime.Year;
int month = dateAndTime.Month;
int day = dateAndTime.Day;

string.Format("{0}/{1}/{2}", month, day, year);

20

उपर्युक्त उत्तरों में से किसी ने मेरी समस्या को winforms पर हल नहीं किया।

केवल तारीख तक पहुँचने का सबसे आसान तरीका है, डाटटाइम में सरल कार्य:

DateTime dt = DateTime.now;
String BirthDate = dt.ToShortDateString();

आपके पास बर्थडे स्ट्रिंग में केवल तारीख होगी।


4
एक (string)कलाकार क्यों है ? प्रकार द्वारा लौटाया गया ToShortDateStringवास्तव में एक स्ट्रिंग है।
आस्कोलिन

15

उसके लिए अपना खुद का स्ट्रक्चर बनाने की कोशिश करें। डेटटाइम ऑब्जेक्ट में दिनांक और समय दोनों होंगे


3
इसका उत्तर होना चाहिए। यह वास्तविक प्रश्न का एकमात्र उत्तर प्रतीत होता है - समय को वस्तु से हटाया नहीं जा सकता है। अपना खुद का रोल करें, आधी रात (या दिन का समय) के साथ जिएं या आप जो चाहते हैं उसके ToString प्रतिनिधित्व के साथ काम करें।
फिल कूपर

यह सबसे सही उत्तर हो सकता है लेकिन सभी के लिए पूरी तरह से अकादमिक भी है, लेकिन बिना किसी जीवन के साथ, जो एक पहिया को फिर से स्थापित करना पसंद करते हैं जो अपने आप में बहुत अच्छी तरह से बदल जाता है। अगर हम वास्तव में हमारी डेटटाइम संरचना के साथ एक अतिरिक्त लंबी संपत्ति का उपयोग करने वाली अतिरिक्त मेमोरी के बारे में चिंतित हैं, तो हमें इसे अनदेखा करने की तुलना में बड़ी समस्याएं हैं।
इंजा

जवाब के लिए धन्यवाद। स्ट्रक्चर बनाने के बिना, उपयोगकर्ता अधिकांश मामलों में एक स्ट्रिंग चर का उपयोग कर सकता है। तुम क्या सोचते हो?
कुषाण रणदिमा

@ कुशनरंडिमा, ज्यादातर मामलों में यह सच है। हालाँकि, प्रश्न में उपयोगकर्ता स्ट्रिंग प्रारूप में नहीं चाहता है इसलिए मैंने इसे एक विकल्प के रूप में सुझाया है।
उमेश छिलका

15

आप नहीं कर सकते। .NET में एक डेटटाइम हमेशा एक समय होता है, डिफ़ॉल्ट करने के लिए 00: 00: 00: 000 होता है। दिनांक समय की संपत्ति भी एक DateTime (!) है, इस प्रकार एक समय 00: 00: 00: 00 के साथ साथ डिफ़ॉल्ट रूप से भी है।

यह .NET फ्रेमवर्क में एक कमी है, और यह तर्क दिया जा सकता है कि .NET में DateTime एकल जिम्मेदारी सिद्धांत का उल्लंघन करता है ।


यह इस प्रश्न का सही उत्तर है। DateTime ऑब्जेक्ट्स में हमेशा समय होगा।
द्रकवशिमा २५'१३

1
रुचि से बाहर, आप इसे एसआरपी का उल्लंघन क्यों मानेंगे? यदि आप समझते हैं कि जिम्मेदारी समय में एक बिंदु का प्रतिनिधित्व कर रही है और वर्ग अंतर्निहित टिक्स संपत्ति को उजागर करता है, तो वर्ष (घंटा / मिलिसकॉन्ड संपत्तियां शुद्ध रूप से (मुख्यधारा) सम्मेलन से निपटने के लिए हैं।
रोब चर्च

क्योंकि तारीख और समय दो अलग-अलग अवधारणाएं हैं, दुर्भाग्य से .NET फ्रेमवर्क में एक ही संरचना में बंडल किया गया है। इस प्रकार, संरचना में एक से अधिक जिम्मेदारी (तारीख और समय दोनों को संभालना) है, और इसलिए एसआरपी का उल्लंघन होता है। .NET में दिनांक समय केवल एक बिंदु का प्रतिनिधित्व नहीं करता है, बल्कि कई अन्य चीजों के रूप में भी होता है। इसलिए, केवल समय में एक बिंदु का प्रतिनिधित्व करने के लिए यह जिम्मेदारी है कि यह अजीब होगा।
टॉमस विन्टर 26'13

2
समय में एक बिंदु, तिथि और समय दोनों द्वारा दर्शाया जाता है। यदि आप किसी को 1:00 बजे आपसे मिलने के लिए कहते हैं, तो आप एक बड़ी धारणा बना रहे हैं कि वह व्यक्ति किस दिन जानता है। भले ही आज का दिन हो, सटीकता स्पष्ट रूप से बताई गई है। किसी भी परिशुद्धता के साथ समय में एक बिंदु का प्रतिनिधित्व करने वाले एकल मान को मिटाना होगा जिसमें संदर्भ आरंभ बिंदु का उपयोग करके दिनांक और समय दोनों शामिल हैं। इसलिए, तारीख, एक प्रारंभिक संदर्भ से, और समय, एक प्रारंभिक संदर्भ से, स्पष्ट रूप से एक ही अवधारणा है; अतिरिक्त सटीकता जोड़ने का समय।
इंजा

1
जब आप कई उदाहरणों के बारे में बात कर रहे होते हैं तो समय ही उपयोगी होता है: जैसे कि हर दिन आधी रात को यूटीसी; दोपहर के स्थानीय समय में हर महीने की पहली तारीख को; आदि तर्क से, TimeSpan का उपयोग उस सम्मेलन के माध्यम से प्रतिनिधित्व करने के लिए किया जा सकता है, लेकिन यह एक समय ऑब्जेक्ट के लिए क्लीनर हो सकता है जो 24 घंटे की अवधि और एक समय क्षेत्र के भीतर एक बिंदु का प्रतिनिधित्व करता है। अंततः, 3 विचार हैं जो DateTime को एनकैप्सुलेट करता है: दिनांक, समय और समयक्षेत्र।
डेविड बेकमैन

12

DateTime.Date

var newDate = DateTime.Now; //newDate.Date property is date portion of DateTime

9
आपको और अधिक समझाना चाहिए। यह एक जवाब नहीं है यह एक कड़ी है
मलाची

2
var newDate = DateTime.Now; //newDate.Date संपत्ति DateTime का दिनांक भाग है। क्या अस्पष्ट है? यदि अस्पष्ट है - लिंक का अनुसरण करें।
विकीआरआर

10

यहाँ है एक और तरीका का उपयोग करString.Format

    DateTime todaysDate = DateTime.UtcNow;

    string dateString = String.Format("{0:dd/MM/yyyy}", todaysDate);

    Console.WriteLine("Date with Time: "+ todaysDate.ToString());

    Console.WriteLine("Date Only : " + dateString);

आउटपुट:

Date with Time: 9/4/2016 11:42:16 AM

Date Only : 04/09/2016

डेटाबेस में दिनांक समय संग्रहीत होने पर भी यह काम करता है।

अधिक दिनांक और समय स्वरूपण के लिए इन लिंक की जाँच करें:

संदर्भ १

संदर्भ २

आशा मदद करती है।


ओपी स्पष्ट रूप से कहता है "मैं किसी भी स्ट्रिंग रूपांतरण विधियों का उपयोग नहीं कर सकता क्योंकि मुझे ऑब्जेक्ट फॉर्म में तारीख की आवश्यकता है।"
ChrisF

7

बिना समय के केवल तारीख पाने का यह तरीका

DateTime date = DateTime.Now;
string Strdateonly = date.ToString("d");

आउटपुट = 5/16/2015


1
कृपया विचार करें, कि एक देर से जवाब जोड़ने के लायक है (और अन्य उपयोगकर्ताओं के दृष्टिकोण से), केवल अगर यह अन्य उत्तरों से अलग है। यहाँ क्या मामला नहीं है।
m.cekiera

5

मैंने एक DateOnlyसंरचना लिखी । यह त्वचा के नीचे डेटाइम का उपयोग करता है, लेकिन कोई समय भाग यौवन के संपर्क में नहीं आता है:

using System;

public struct DateOnly : IComparable, IFormattable, IComparable<DateOnly>, IEquatable<DateOnly>
{

    private DateTime _dateValue;

    public int CompareTo(object obj)
    {
        if (obj == null)
        {
            return 1;
        }

        DateOnly otherDateOnly = (DateOnly)obj;
        if (otherDateOnly != null)
        {
            return ToDateTime().CompareTo(otherDateOnly.ToDateTime());
        }
        else
        {
            throw new ArgumentException("Object is not a DateOnly");
        }
    }

    int IComparable<DateOnly>.CompareTo(DateOnly other)
    {
        return this.CompareToOfT(other);
    }
    public int CompareToOfT(DateOnly other)
    {
        // If other is not a valid object reference, this instance is greater.
        if (other == new DateOnly())
        {
            return 1;
        }
        return this.ToDateTime().CompareTo(other.ToDateTime());
    }

    bool IEquatable<DateOnly>.Equals(DateOnly other)
    {
        return this.EqualsOfT(other);
    }
    public bool EqualsOfT(DateOnly other)
    {
        if (other == new DateOnly())
        {
            return false;
        }

        if (this.Year == other.Year && this.Month == other.Month && this.Day == other.Day)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

    public static DateOnly Now()
    {
        return new DateOnly(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
    }

    public static bool TryParse(string s, ref DateOnly result)
    {
        DateTime dateValue = default(DateTime);
        if (DateTime.TryParse(s, out dateValue))
        {
            result = new DateOnly(dateValue.Year, dateValue.Month, dateValue.Day);
            return true;
        }
        else
        {
            return false;
        }
    }

    public static DateOnly Parse(string s)
    {
        DateTime dateValue = default(DateTime);
        dateValue = DateTime.Parse(s);
        return new DateOnly(dateValue.Year, dateValue.Month, dateValue.Day);
    }

    public static DateOnly ParseExact(string s, string format)
    {
        CultureInfo provider = CultureInfo.InvariantCulture;
        DateTime dateValue = default(DateTime);
        dateValue = DateTime.ParseExact(s, format, provider);
        return new DateOnly(dateValue.Year, dateValue.Month, dateValue.Day);
    }

    public DateOnly(int yearValue, int monthValue, int dayValue) : this()
    {
        Year = yearValue;
        Month = monthValue;
        Day = dayValue;
    }

    public DateOnly AddDays(double value)
    {
        DateTime d = new DateTime(this.Year, this.Month, this.Day);
        d = d.AddDays(value);
        return new DateOnly(d.Year, d.Month, d.Day);
    }

    public DateOnly AddMonths(int months)
    {
        DateTime d = new DateTime(this.Year, this.Month, this.Day);
        d = d.AddMonths(months);
        return new DateOnly(d.Year, d.Month, d.Day);
    }

    public DateOnly AddYears(int years)
    {
        DateTime d = new DateTime(this.Year, this.Month, this.Day);
        d = d.AddYears(years);
        return new DateOnly(d.Year, d.Month, d.Day);
    }

    public DayOfWeek DayOfWeek
    {
        get
        {
            return _dateValue.DayOfWeek;
        }
    }

    public DateTime ToDateTime()
    {
        return _dateValue;
    }

    public int Year
    {
        get
        {
            return _dateValue.Year;
        }
        set
        {
            _dateValue = new DateTime(value, Month, Day);
        }
    }

    public int Month
    {
        get
        {
            return _dateValue.Month;
        }
        set
        {
            _dateValue = new DateTime(Year, value, Day);
        }
    }

    public int Day
    {
        get
        {
            return _dateValue.Day;
        }
        set
        {
            _dateValue = new DateTime(Year, Month, value);
        }
    }

    public static bool operator == (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() == aDateOnly2.ToDateTime());
    }

    public static bool operator != (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() != aDateOnly2.ToDateTime());
    }

    public static bool operator > (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() > aDateOnly2.ToDateTime());
    }

    public static bool operator < (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() < aDateOnly2.ToDateTime());
    }

    public static bool operator >= (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() >= aDateOnly2.ToDateTime());
    }

    public static bool operator <= (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() <= aDateOnly2.ToDateTime());
    }

    public static TimeSpan operator - (DateOnly aDateOnly1, DateOnly aDateOnly2)
    {
        return (aDateOnly1.ToDateTime() - aDateOnly2.ToDateTime());
    }


    public override string ToString()
    {
        return _dateValue.ToShortDateString();
    }

    public string ToString(string format)
    {
        return _dateValue.ToString(format);
    }

    public string ToString(string fmt, IFormatProvider provider)
    {
        return string.Format("{0:" + fmt + "}", _dateValue);
    }

    public string ToShortDateString()
    {
        return _dateValue.ToShortDateString();
    }

    public string ToDbFormat()
    {
        return string.Format("{0:yyyy-MM-dd}", _dateValue);
    }
}

इसे VB.NET से रूपांतरित किया जाता है, इसलिए यदि कुछ रूपांतरण 100% नहीं हैं तो क्षमा करें


5

समय घटक के बिना दिनांक प्राप्त करने के लिए date.ToShortDateString () का उपयोग करें

var date = DateTime.Now
var shortDate = date.ToShortDateString() //will give you 16/01/2019

दिनांक के प्रारूप को अनुकूलित करने के लिए date.ToString () का उपयोग करें

var date = DateTime.Now
var shortDate = date.ToString('dd-MMM-yyyy') //will give you 16-Jan-2019

4

मुझे आश्चर्य है कि किसी ने DateTime.Today का उल्लेख नहीं किया है

var date = DateTime.Today;
// {7/1/2014 12:00:00 AM}

MSDN देखें


+1 केवल इसलिए कि आपका उत्तर सही गुणों के साथ एक तारीख का उत्पादन करता है, हालांकि ओपी मौजूदा तिथि से समय निकालना चाहता है, नई तारीख नहीं बनाता है।
इंजाजा

3

आप डेटाइम से केवल तारीख के लिए यह कोशिश कर सकते हैं

String.Format("{0:d/M/YYYY}",dt);

जहां dt है DateTime


3

मूल Q को हल करने का प्रयास करते समय इस पोस्ट के पार आया।

मैं Asp.Net का उपयोग कर रहा हूं और कुछ शोध के बाद मैंने पाया है कि जब आप कोड के पीछे दिनांक के मूल्य के लिए बाध्य कर रहे हैं, तो आप समय को गिरा सकते हैं ताकि यह स्क्रीन पर प्रदर्शित न हो।

सी#:

DateTime Today = DateTime.Now;

aspx:

<%: this.Today.ToShortDateString() %>


3

यदि आप इसे स्ट्रिंग में परिवर्तित कर रहे हैं, तो आप इसे आसानी से इस तरह से कर सकते हैं।

मैं आपके DateTime ऑब्जेक्ट के रूप में तारीख ले रहा हूँ।

date.ToString("d");

यह आपको केवल तारीख देगा।


2
string dt = myCalender.SelectedDate.ToString();
string date = dt.Remove(10);
displayDate.Content = date;

अगर आप कैलेंडर से तारीख लेते हैं, तो इसके साथ ही हमें समय भी मिलता है। जिसकी हर समय आवश्यकता नहीं होती है। इसके प्रयोग से हम तारीख से समय निकाल सकते हैं।


2

मेरे अनुभव में किसी भी उक्त समाधान ने काम नहीं किया, हो सकता है क्योंकि मैं डेटाबेस से निकाली गई तारीख से समय निकालना चाहता था, लेकिन नीचे दिए गए कोड ने काम किया:

var date = target_date.Value.ToString("dd/MM/yyyy"); 

प्रश्न विशेष रूप से कहा गया है कि तारीख एक वस्तु होने की जरूरत है, न कि एक स्ट्रिंग। यह समाधान एक स्ट्रिंग लौटाता है।
नमस्कार करें

2

चर को स्ट्रिंग के रूप में घोषित करें।

उदाहरण :

public string dateOfBirth ;

फिर एक मान निर्दिष्ट करें:

dateOfBirth = ((DateTime)(datetimevaluefromDB)).ToShortDateString();

लोगों को इस सवाल को पढ़ना चाहिए, और बिना किसी कारण के लिए (ढेर पर) संरचना को परिवर्तित करना बंद कर दें।
इंजा

2

मुझे पता है कि यह कई जवाबों के साथ एक पुरानी पोस्ट है, लेकिन मैंने समय के हिस्से को हटाने का यह तरीका नहीं देखा है। मान लीजिए कि आपके पास एक DateTimeचर है myDate, जिसमें समय भाग के साथ तारीख है। आप DateTimeइस निर्माणकर्ता का उपयोग करते हुए, समय भाग के बिना, उससे एक नई वस्तु बना सकते हैं :

public DateTime(int year, int month, int day);

ऐशे ही:

myDate = new DateTime(myDate.Year, myDate.Month, myDate.Day);

इस तरह से आप DateTimeपुराने हिस्से के आधार पर एक नई वस्तु बनाते हैं , समय के साथ 00:00:00 के रूप में।


2

एक ऐसी संरचना बनाएं जिसमें केवल वही गुण हों जो आप चाहते हैं। फिर एक विस्तार विधि आसानी से डेटाइम के एक उदाहरण से उस संरचना को प्राप्त करने के लिए।

public struct DateOnly
{
    public int Day { get; set; }
    public int Month { get; set; }
    public int Year { get; set; }
}

public static class DateOnlyExtensions
{
    public static DateOnly GetDateOnly(this DateTime dt)
    {
        return new DateOnly
        {
            Day = dt.Day,
            Month = dt.Month,
            Year = dt.Year
        };
    }
}

प्रयोग

DateTime dt = DateTime.Now;
DateOnly result = dt.GetDateOnly();

2

केवल तिथि भाग प्राप्त करने के लिए ToString () विधि का उपयोग करें,

उदाहरण: DateTime.Now.Date.ToString ("dd / MM / yyyy")

नोट: dd / MM / yyyy प्रारूप में मिमी को पूंजीकृत किया जाना चाहिए


1

का उपयोग करें। किसी डेटटाइम ऑब्जेक्ट की। समय भाग की उपेक्षा करेगा।

यहाँ कोड है:

DateTime dateA = DateTime.Now;
DateTime dateB = DateTime.Now.AddHours(1).AddMinutes(10).AddSeconds(14);
Console.WriteLine("Date A: {0}",dateA.ToString("o"));
Console.WriteLine("Date B: {0}", dateB.ToString("o"));
Console.WriteLine(String.Format("Comparing objects A==B? {0}", dateA.Equals(dateB)));
Console.WriteLine(String.Format("Comparing ONLY Date property A==B? {0}", dateA.Date.Equals(dateB.Date)));
Console.ReadLine();

आउटपुट:

>Date A: 2014-09-04T07:53:14.6404013+02:00
>Date B: 2014-09-04T09:03:28.6414014+02:00
>Comparing objects A==B? False
>Comparing ONLY Date property A==B? True

1

RegEx के एक बिट का उपयोग करें:

Regex.Match(Date.Now.ToString(), @"^.*?(?= )");

प्रारूप में एक तारीख का उत्पादन करता है: dd / mm / yyyy


1

डैक्टर, रिपीटर द्वारा उपयोग करने के लिए .. aspx पेज में: <% # Eval ("YourDateString")। ToString ()। Remove (10)%>


1
static void Main(string[] args)
{
    string dateStrings =  "2014-09-01T03:00:00+00:00" ;

    DateTime convertedDate = DateTime.Parse(dateStrings);
    Console.WriteLine("  {0} ----------------- {1}",

    convertedDate,DateTime.Parse(convertedDate.ToString()).ToString("dd/MM/yyyy"));

    Console.Read();
}

1

यह इस तरह से किया जा सकता है:

var dateOnly = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day)

1

यह कोड आपको लेखन के Dateसाथ-साथ Timeअलग से एक स्पष्ट दृष्टिकोण प्रदान करता है

string time = DateTime.Now.Hour.ToString("00") + ":" + DateTime.Now.Minute.ToString("00") + ":" + DateTime.Now.Second.ToString("00");
        string date = DateTime.Now.ToString("M-dd-yyyy");
        MessageBox.Show(date + "\n" + time);

उम्मीद है की यह मदद करेगा।

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