3

如果我的字符串是 26/01/2011 00:14:00 但我的计算机设置了美国格式 (AM:PM) 如何将我的字符串转换为Datetime?我尝试Convert.ToDateTime()但它会导致错误。

4

3 回答 3

6

使用DateTime.ParseExactDateTime.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 回答