C#:使用不同格式从字符串转换datetime

时间:2011-01-25 17:27:54

标签: c# datetime-format

如果我的字符串是26/01/2011 00:14:00 但我的电脑设置美国国家格式(上午:下午) 如何将我的字符串转换为Datetime? 我试试Convert.ToDateTime(),但这会导致错误。

3 个答案:

答案 0 :(得分:6)

使用DateTime.ParseExactDateTime.TryParseExact。如果必须接受多种可能的日期时间格式,则这两种方法都会出现带有格式字符串数组的重载。

就该格式而言,它看起来像“dd / mm / yyyy HH:MM:ss”

答案 1 :(得分:6)

正如其他人所说,你可以使用DateTime.TryParseExact,但你的日期似乎也有欧洲文化格式。尝试使用它来执行转换可能没什么坏处:

CultureInfo enGB = new CultureInfo("en-GB"); 
string dateString;
DateTime dateValue;

// Parse date with no style flags.
dateString = "26/01/2011 00:14:00";
DateTime.TryParseExact(dateString, "g", enGB, DateTimeStyles.None, out dateValue);

答案 2 :(得分:0)

我使用DateTime.Tryparse - 这样你就可以优雅地捕获和处理失败:

http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx