0

这是代码

String date = "1980/1/1"; 
DateTime dateTime = DateTime.ParseExact(date, "yyyy/MM/DD", null);
// I have also tried 
// DateTime dateTime = DateTime.ParseExact(date, "yyyy/MM/DD", CultureInfo.InvariantCulture);

这是例外

字符串未被识别为有效的日期时间。

更新

使用以下代码得到相同的错误

 DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/D", null);
4

3 回答 3

2

使用单M和单d

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/d", null);

SingleM会处理 month 01, 1to 12, 同样 Singled会处理 day from 1to 31, 包括01to 。09

您可能会看到:自定义日期和时间格式字符串 - MSDN

于 2012-11-21T07:25:15.150 回答
1

仅使用yyyy/M/D. 它抛出了一个异常,因为它期望yyyy/01/01月和日有两位数。

DateTime dateTime = DateTime.ParseExact(date, "yyyy/M/d", null);
于 2012-11-21T07:24:54.537 回答
1

试试这个(经过测试)

String date = "1980/1/1";
DateTime dateTime = DateTime.ParseExact(date, "yyyy'/'M'/'d",null);

字符斜线在单引号之间。

于 2012-11-21T07:48:55.177 回答