ParseExact:String未被识别为有效的DateTime

时间:2017-08-29 06:50:32

标签: c#

即使我使用ParseExact()string转换为有效的DateTime,我也会收到错误:

var Y = "2016/07/13";

DateTime DT = DateTime.ParseExact(Y, "dd/MM/yyyy", CultureInfo.InvariantCulture);
var X = (DT - DateTime.Now).TotalDays;

即使null中有CultureInfo,我也会遇到同样的错误:

DateTime date = DateTime.ParseExact(Y, "dd/MM/yyyy", null);

是什么原因?

1 个答案:

答案 0 :(得分:1)

我创建了一个小fiddle

由于您要将日期指定为yyyy/MM/dd,因此在尝试解析日期时也应指定此格式。

    var Y = "2016/07/13";

    DateTime DT = DateTime.ParseExact(Y, "yyyy/MM/dd", System.Globalization.CultureInfo.InvariantCulture);
    var X = (DT - DateTime.Now).TotalDays;

此剪辑代码应与您指定的日期格式完美匹配。

有关此方法的官方文档可在此处找到:https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx

它包含更多关于此事的信息和用例。