您正在尋找在Date
類型 MSDN文檔,但創建一個字符串"1-2-2014"
這不是Date
類型和行爲不會像之一。有關訂單和使用#
該說明僅適用於DateTime
變量:
Dim myDt As Date = #1/2/2014#
還看什麼MSDN says about CDate:
一般來說,硬編碼的日期和時間作爲字符串(如本例如)不推薦。改用日期文字和時間文字,例如#Feb 12,1969#和#4:45:23 PM#。
作爲一個字符串,很難知道如何將其轉換回來的格式/文化。相反,保持基於日期的數據項Date類型變量和簡單的格式,它們對於用戶來說,報告,MSGBOX等:
' DISPLAY a date anyway we want, without changing the value:
Console.WriteLine(dt.ToString("hh:mm M/d/yyyy")) ' => 05:55 2/11/2010
Console.WriteLine(dt.ToString("HH.mm M/d/yyyy")) ' => 17.55 2/11/2010
Console.WriteLine(dt.ToString("MM/dd/yyyy HH:mm")) ' => 02/11/2010 17:55
NET和VB總是要承擔一個字符串是在當前的文化形式,除非否則告訴。 CDate
被簡化,所以你不能傳遞一個格式,但是其他功能轉換允許你指定的文化或形式:
Dim myStr As String = "17:55 2/11/2010" ' ad odd date/time format
Dim dtVar As DateTime = DateTime.ParseExact(myDate,
"HH:mm M/dd/yyyy",
Globalization.CultureInfo.InvariantCulture)
你的arent傳遞字符串,要轉換的一個。 NET假設「1-2-2014」是您所在地區/文化的有效日期時間,並根據此日期生成日期。如果您想要/需要爲字符串版本指定格式或文化,請使用'convert.ToDateTime'或'DateTime.ParseExact'。請參閱http://stackoverflow.com/a/24175610/1070452 – Plutonix