当字符串为13/07/15时,不能将字符串识别为有效的日期时间
本文关键字:字符串 有效 识别 日期 时间 15时 不能 | 更新日期: 2023-09-27 18:05:04
我有一个字符串date = 13/07/15
在这种格式,我想把它转换成DateTime,但我得到下面提到的错误
String was not recognized as a valid DateTime.
我怎么做才能转换成日期时间。我已经试过了
DateTime dt = Convert.ToDateTime(date);
从来没有注意到不同的文化用不同的格式写数据和时间吗?尽管您使用的格式在大多数西欧国家是有效的,但在美国却是垃圾。
要解决这个问题,可以向系统询问当前日期和时间格式:
var currentCulture = System.Globalization.CultureInfor.CurrentCulture
IFormatProvider dateTimeFormat = currentCulture.DateTimeFormat;
string dateTxt = @"13/7/2015";
System.DateTime myDate = System.DateTime.Parse(dateTxt, dateTimeFormat);
如果您的计算机具有正确的文化,那么应该可以做到这一点。
如果你想了解多种文化,不要询问当前的文化,而是使用System.Globalization.CultureInfo的构造函数之一
不明智,因为1/3/2015是指3月1日,还是1月3日?
您的代码DateTime dt = Convert.ToDateTime(date);
是完美的。在我看来,错误是在你的数据库,因为它转换成日期,如果它得到全年。
这样做,
DateTime date = DateTime.ParseExact(s, "dd/MM/yy", null);
来源:DateTime。ParseExact