Click here to Skip to main content
13,139,254 members (88,549 online)
Rate this:
 
Please Sign up or sign in to vote.
A string has the value in "dd/MM/yyyy" format like "04/10/2012". This should be converted to a Date w.r.t Current Culture of OS.

I have tried below string with Korean as Current Culture of OS in which date format is yyyy-MM-dd, my code is not getting correct Month value, it interchange the month value with day:

Input: "04/10/2012"
Output: 2012-04-10

Code:
DateTime DT;
            string dt = "04/10/2012";
            
            DateTimeFormatInfo DateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
            DT = Convert.ToDateTime(String.Format ("{0:"+DateInfo .ShortDatePattern +"}", dt.Trim ()), CultureInfo .CurrentCulture);
            MessageBox.Show("Date: " + DT.ToShortDateString());

How I ca fix that ?
Posted 3-Oct-12 22:00pm
Updated 3-Oct-12 22:01pm
v2
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

DateTime DT;
            string dt = "04/10/2012";
            
            DateTimeFormatInfo DateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
            DT = Convert.ToDateTime(String.Format ("{0:dd/MM/yyyy}", dt.Trim ()), CultureInfo .CurrentCulture);
            MessageBox.Show("Date: " + DT.ToShortDateString());
  Permalink  
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 2

string dt = "04/10/2012";
DateTime DT = DateTime.ParseExact(dt, "dd/MM/yyyy", CultureInfo.InvariantCulture);
MessageBox.Show("Date: " + DT.ToShortDateString());

Please note that this will not work if your "dt" string is in a different format - the Pandora's Box of Pain will open...
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy |
Web02 | 2.8.170915.1 | Last Updated 4 Oct 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100