如果我的字符串是 26/01/2011 00:14:00 但我的计算机设置了美国格式 (AM:PM) 如何将我的字符串转换为Datetime
?我尝试Convert.ToDateTime()
但它会导致错误。
问问题
12211 次
3 回答
6
使用DateTime.ParseExact或DateTime.TryParseExact。如果您必须接受多种可能的日期时间格式,那么这两种方法都具有采用格式字符串数组的重载。
就该格式而言,它看起来像“dd/mm/yyyy HH:MM:ss”
于 2011-01-25T17:29:06.910 回答
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);
于 2011-01-25T17:38:55.610 回答
0
我使用 DateTime.Tryparse - 这样你就可以优雅地捕捉和处理失败:
http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx
于 2011-01-25T17:31:06.227 回答