2015-12-19 120 views
-1

我以特定格式從用戶獲取值,然後將其轉換爲DateTime對象。字符串未被識別爲有效的日期時間[ASP.NET]

這是我的代碼

DateTime dateGreg1 = DateTime.ParseExact(startDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); 

此代碼工作正常在我的電腦上,但是當我複製項目到另一臺計算機,這個錯誤顯示出來:

字符串未被識別爲一個有效的DateTime。

我的問題是爲什麼程序運行在原始計算機上,但是當我複製它時,它沒有運行?

有沒有我應該做的配置?

我使用Visual Studio 2012

+0

您是否檢查過其他計算機上的變量'startDate'?它從何而來?我想輸入是不同的,因爲它使用不變的文化,所以解析調用對我來說似乎還可以。 – Lucero

+0

您正在使用ParseExact,這意味着傳遞的DateTime必須完全匹配格式(https://msdn.microsoft.com/en-us/library/system.datetime.parseexact(v=vs.110).aspx)。嘗試使用Parse或TryParse代替。然後 – wentimo

+0

其實,正如「史蒂夫哈里斯」所說:問題是用另一臺計算機的日期格式:) –

回答

0

「其他計算機」,可能是在默認情況下使用不同的日期格式,即美國,而不是英國。

+0

Thaaaank你,它的工作原理 –

+0

這是因爲'InvariantCulture '被用作文化,而不是'CurrentCulture'。 –

+0

當被解析的字符串不是指定格式時文化是否相關? –

相關問題