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

Pri*_*ief 3 c# datetime-format

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

Ada*_*lls 6

使用DateTime.ParseExact或DateTime.TryParseExact.如果必须接受多种可能的日期时间格式,则这两种方法都具有采用格式字符串数组的重载.

就那种格式而言,它看起来像"dd/mm/yyyy HH:MM:ss"


Joe*_*ton 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);
Run Code Online (Sandbox Code Playgroud)