2017-08-29 48 views
-3

即使我使用ParseExact()轉換string爲有效DateTime,我得到錯誤:ParseExact:字符串未被識別爲有效的DateTime

var Y = "2016/07/13"; 

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

即使在CultureInfonull我收到相同錯誤:

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

是什麼原因?

+2

它應該是'DateTime DT = DateTime.ParseExact(Y,「yyyy/MM/dd」,CultureInfo.InvariantCulture);'。 –

+1

嘗試正確的格式:'DateTime.ParseExact(Y,「yyy/MM/dd」,CultureInfo.InvariantCulture);' – Nino

+0

甚至,我得到相同的錯誤 – user584018

回答

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

它包含了關於此事的更多信息和usecases。

相關問題