开发者

how do i convert string to datetime in c# [duplicate]

This question already has answers here: Closed 11 years ago.

Possible Duplicates:开发者_如何学编程

Convert string to datetime Using C#

Converting String to DateTime C#.net

Hi, I have a string which consists of datetime in the format dd/mm/yyyy hh:mm:ss.ms

i.e. date/month/year hours:minutes:seconds.milliseconds. eg. 18/03/2011 15:16:57.487

How do I convert this string to datetime using c#

Regards cmrhema.


You can use DateTime.Parse or DateTime.ParseExact

  DateTime dateValue;
  string dateString = "2/16/2008 12:15:12 PM";
  try {
     dateValue = DateTime.Parse(dateString);
     Console.WriteLine("'{0}' converted to {1}.", dateString, dateValue);
  }   
  catch (FormatException) {
     Console.WriteLine("Unable to convert '{0}'.", dateString);
  }

For ParseExact

dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
try 
{
     result = DateTime.ParseExact(dateString, format, provider);
     Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
}
catch (FormatException) 
{
     Console.WriteLine("{0} is not in the correct format.", dateString);
}


You're looking for DateTime.ParseExact:

DateTime time = DateTime.ParseExact(
    "18/03/2011 15:16:57.487", 
    "dd/MM/yyyy HH:mm:ss.fff", 
    CultureInfo.InvariantCulture
);

Note that MM means month, mm means minute, HH is 24-hour hour, hh is 12-hour hour, and f is millisecond.


Here is a way to parse in the format that your DateTime is in and also maintain the milliseconds

        string dtString = "18/03/2011 15:16:57.487";

        System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");           

        DateTime dt = DateTime.Parse(dtString.Split('.')[0], culture);

        Double milliseconds = Double.Parse(dtString.Split('.')[1]);

        dt = dt.AddMilliseconds(milliseconds);


DateTime.ParseExact is what you want if you know the exact format of the date string.


Look at DateTime.Parse()


Convert.ToDateTime() http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx


String str="04031985";

DateTime dt = DateTime.Parse(str);
DateTime dt = DateTime.ParseExact(str, @"MMddyyyy", null);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜