如果我的字符串是26/01/2011 00:14:00
但我的电脑设置美国国家格式(上午:下午)
如何将我的字符串转换为Datetime
?
我试试Convert.ToDateTime()
,但这会导致错误。
答案 0 :(得分:6)
使用DateTime.ParseExact或DateTime.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