[英]vb.net converting string to date format
我正在嘗試在 vb 上將字符串轉換為日期,但由於某種原因,我收到以下錯誤消息。
System.FormatException: 'String was not recognized as a valid DateTime.'
我正在從 winform 上的日期控制中獲取日期
dim selectedDate as string = dateControl1.text
dim selectedDt as Date = Date.Parse(selectedDate)
但是如果我在代碼中輸入相同的值而不是從 dateControl 中獲取,就可以了
dim selectedDate as string = "19/01/2021"
dim selectedDt as Date = Date.Parse(selectedDate)
所以我嘗試查看 dateControl1 的值和鍵入代碼時是否有任何不同,因為 dateControl1.text 應該返回相同的字符串值,所以我嘗試這樣做
dim selectedDate as string = "19/01/2021"
if selectedDate = dateControl1.text then
debug.print ("same")
else
debug.print ("different")
end if
當我運行它時,調試打印“相同”
如果我這樣做
dim selectedDate as string = "19/01/2021"
if selectedDate = dateControl1.text then
debug.print ("same")
else
debug.print ("different")
end if
dim selectedDt as Date = Date.Parse(dateControl1.text)
即使調試說“相同”,我也會收到相同的錯誤
所以我真的很困惑,為什么當我從 dateControl1.text 獲取值時 date.parse 顯示錯誤並且它是完全相同的字符串
我錯過了什么嗎?
謝謝您的幫助。
問候
您可以嘗試這種方式,它應該可以工作:
dim selectedDt as Date = DateTime.ParseExact(dateControl1.text, "dd/MM/yyyy", CultureInfo.InvariantCulture)
為了更安全,您必須先仔細檢查文本框的值。 try
日期控制是什么控制? 如果它是 DateTimePicker,那么您可以使用 .Value 屬性獲取日期,而無需進行任何轉換。
dim selectedDt as Date = dateControl1.Value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.