我想獲取日期的差異,從兩個TextBox說和日期..轉換日期從文本框的日期在ASP.Net
我的代碼是在這裏
Dim ts As TimeSpan
ts = CDate(txtTo.Text) - CDate(txtFrom.Text)
txtDays.Text = ts.Days() + 1
但是這個代碼是拋出這樣的錯誤
Conversion from string "16/11/2011" to type 'Date' is not valid.
我想獲取日期的差異,從兩個TextBox說和日期..轉換日期從文本框的日期在ASP.Net
我的代碼是在這裏
Dim ts As TimeSpan
ts = CDate(txtTo.Text) - CDate(txtFrom.Text)
txtDays.Text = ts.Days() + 1
但是這個代碼是拋出這樣的錯誤
Conversion from string "16/11/2011" to type 'Date' is not valid.
一般來說,儘量避免使用舊的VB函數,如CDate
。在這種情況下,你應該使用Parse
方法:
Dim ts As TimeSpan
ts = DateTime.Parse(txtTo.Text) - DateTime.Parse(txtFrom.Text)
或者,如果你事先知道日期格式:
Dim fmt As String = "dd/MM/yyyy"
Dim ts As TimeSpan
ts = DateTime.ParseExact(txtTo.Text, fmt, Nothing) - DateTime.ParseExact(txtFrom.Text, fmt, Nothing)
您可以直接將字符串轉換爲DateTime。您需要使用DateTime.Parse函數將字符串解析爲DateTime。
語法可以找到here。
它拋出一個錯誤像這樣'字符串不被認爲是一個有效的DateTime.' –
我的日期格式是dd/mm/yyyy like 29/11/2011印度日期格式 –
嘗試使用ParseExact,如:
Dim s As String = txtFrom.Text.trim
Dim pattern As String = "dd/MM/yyyy"
Dim parsedDate As Date = Date.ParseExact(s, pattern, Nothing)
作爲該你可以指定使用的字符串格式。
更多的直接到你的例子:
Dim pattern As String = "dd/MM/yyyy"
ts = Date.ParseExact(txtTo.Text, pattern, Nothing) - Date.ParseExact(txtFrom.Text, pattern, Nothing)
使用重載版本的函數:
DateTime value = DateTime.Parse(txtFrom.Text, new CultureInfo("gu-IN", false));
其中, 「GU-IN」 是古吉拉特語(印度)
其拋出一個像這樣的錯誤'String was not reco gnized作爲一個有效的DateTime.' –
很可能你必須指定適當的日期格式。我會更新我的答案。 –