当字符串为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);

当字符串为13/07/15时,不能将字符串识别为有效的日期时间

从来没有注意到不同的文化用不同的格式写数据和时间吗?尽管您使用的格式在大多数西欧国家是有效的,但在美国却是垃圾。

要解决这个问题,可以向系统询问当前日期和时间格式:

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