2

我在数据库中有一个日期时间列。

DateTime end_date = DateTime.ParseExact("2013-Jan-31", "yyyy-MM-dd", CultureInfo.InvariantCulture);

为什么这不起作用?

4

4 回答 4

3

这不起作用,因为MM这意味着一月是 01。如果这是您尝试解析的日期的格式,请尝试使用 format "yyyy-MMM-dd"

希望这可以帮助

于 2013-01-04T08:04:12.870 回答
2

试试这样;

DateTime a = DateTime.ParseExact("2013-Jan-31", "yyyy-MMM-dd", System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine (a);

输出:

31.01.2013

从 MSDN 看Custom Date and Time Format Strings

于 2013-01-04T08:04:37.380 回答
2

要使用这样的月份名称,您需要使用“MMM”,这样它将是

 myObject.end_date = DateTime.ParseExact("2013-Jan-31", "yyyy-MMM-dd", System.Globalization.CultureInfo.InvariantCulture);
于 2013-01-04T08:11:12.333 回答
1

MM表示两位数的月份(例如“01”)。

MMM表示缩写月份(如“Jan”)。

这意味着你需要

myObject.end_date = DateTime.ParseExact("2013-Jan-31", "yyyy-MMM-dd", System.Globalization.CultureInfo.InvariantCulture);

有关字符串格式说明符的列表,请参阅http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

于 2013-01-04T08:05:49.920 回答