c# - डेटटाइम ऑब्जेक्ट में केवल सी#में दिनांक का समय भाग कैसे निकालें?




datetime (20)

मुझे दिनांक समय के समय हिस्से को हटाने की आवश्यकता है या शायद string के रूप में object फ़ॉर्म में निम्न प्रारूप में दिनांक नहीं है।

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

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

मैंने पहले DateTime को string कनवर्ट करने की कोशिश की, उस समय से विशिष्ट दिनांक हटा दें, लेकिन जैसे ही मैं इसे वापस DateTime object वापस परिवर्तित करता हूं, इसे 12:00:00 AM जोड़ता है।


RegEx का थोड़ा सा उपयोग करें:

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

प्रारूप में एक तिथि का उत्पादन करता है: डीडी / मिमी / yyyy



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

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

DateTime कहां है


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

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


उपयोग

DateTime.Now.ToString("dd-MM-yyyy");

उपयोग करें दिनांक दिनांक वस्तु का दिनांक समय के हिस्से को अनदेखा कर देगा।

यहां कोड है:

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

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

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();

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

उदाहरण :

public string dateOfBirth ;

फिर एक मान असाइन करें जैसे:

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

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

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

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


मुझे आश्चर्य है कि किसी ने डेटटाइम का उल्लेख नहीं किया है। आज

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

MSDN देखें


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

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

सी#:

DateTime Today = DateTime.Now;

aspx:

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

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

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

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

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

date.ToString("d");

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


यह कोड आपको 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);

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



DateDate संपत्ति।

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


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);

DateTime ऑब्जेक्ट का Date भाग प्राप्त करना मेरे लिए कसरत नहीं था क्योंकि मैं क्लाइंट-साइड पर काम कर रहा हूं और लौटाए गए वेब सेवा मानों में कुछ null तिथियां हैं। नतीजतन, यह एक शून्य मान का दिनांक भाग प्राप्त करने का प्रयास करता है और यह रनटाइम अपवाद फेंकता है। निम्नलिखित उदाहरण यह है कि मैंने अपनी समस्या का हल कैसे किया:

string dt = employer.BirthDay.ToString();
if(dt == ""){ dt = "N/A";}
else dt = dt.Substring(0,10);
  1. एक स्ट्रिंग चर में स्ट्रिंग के रूप में डेटटाइम मान प्राप्त करें।
  2. जांचें कि यह शून्य है या नहीं। यदि शून्य है, एक स्ट्रिंग वैरिएबल असाइन करें।
  3. यदि शून्य नहीं है, तो स्ट्रिंग DateTime मान के पहले 10 वर्ण प्राप्त करें और इसे स्ट्रिंग चर पर असाइन करें।

मैं इसे भविष्य के संदर्भ के लिए साझा कर रहा हूं।


DateTime dd=DateTiem.Now;
string date=dd.toString("dd/MM/YYYY");

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();
}




datetime