即使我使用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);
是什么原因?
答案 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
它包含更多关于此事的信息和用例。