我如何将字符串转换成datetime在C#

问题描述:

可能重复:
Convert string to datetime Using C#
Converting String to DateTime C#.net我如何将字符串转换成datetime在C#

嗨, 我有包含日期​​时间的格式为dd/mm的字符串/ yyyy hh:mm:ss.ms

即date/month/year hours:minutes:seconds.milliseconds。例如。 18/03/2011 15:16:57.487

如何转换这个字符串使用C#

问候 cmrhema为DateTime。

+3

你*确实*注意到* Relat编写问题时出现的问题列表?那里有很多重复的问题。 – 2011-03-15 15:51:04

+0

发表之前,为什么不搜索发布问题时发布的上一篇文章 – Dotnet 2011-03-15 15:51:47

+1

再次搜索,我发现这样会更好一些(因为它也指出'DateTime.TryParse'):[将字符串转换为C#中的DateTime ](http://*.com/questions/1592653/convert-string-to-datetime-in-c/1592660#1592660) – 2011-03-15 15:55:09

这里是你的日期时间是在还保持格式解析的方式毫秒

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

韦斯格兰特,我正在寻找上述答案。谢谢 – cmrhema 2011-03-21 14:41:43

DateTime.ParseExact是你想要什么,如果你知道这个日期字符串的准确格式。

您正在寻找DateTime.ParseExact

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

注意MM意味着一个月,mm意味着分钟,HH是24小时小时,hh是12小时小时,f是毫秒。

String str="04031985"; 

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

您可以使用DateTime.Parse或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); 
    } 

对于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); 
}