2012-06-13 51 views
0

我收到錯誤'字符串未被識別爲有效的DateTime。'通過使用下面的代碼。Datetime.ParseExact在服務器上拋出錯誤,但在客戶端上工作

NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); 

其中selectedRow是數據庫的行。代碼寫入RowCommand事件。 SelectedRow.Cells [9] .Text中的值在客戶端使用dd-MM-yyyy格式,因爲它在服務器端不同。

如何編寫適用於所有日期時間格式的通用代碼?

回答

5

您必須指定dd-MM-yyyy數據的日期格式。

使用以下method

DateTime.ParseExact Method (String, String[], IFormatProvider, DateTimeStyles) 

樣品:

string[] formats = { "dd-MMM-yyyy", "dd/MMM/yyyy", "dd-MM-yy","d/M/yy"}; 
string dateString = "1/1/10"; 

DateTime date=DateTime.ParseExact(dateString ,formats, 
    System.Globalization.CultureInfo.InvariantCulture, 
    System.Globalization.DateTimeStyles.None); 
0

您正在接收dd-MM-yyyy格式,但在parseExact中您已給出dd/MM/yyyy。將'/'替換爲' - '

0

AVD

試試這個....或similiar

NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy".Replace("/", "-"), System.Globalization.CultureInfo.InvariantCulture); 
相關問題