CDATE行为与文档不一致(对我来说)



请看以下网页:http://msdn.microsoft.com/en-us/library/3eaydw6e.aspx:

"您必须在数字符号(# #)中包含日期文字。必须以M/d/yyyy格式指定日期值,例如#5/31/1993#。此要求与您的区域设置和计算机的日期和时间格式设置无关。"

现在看看下面的代码:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Dim str As String = "1-2-1999"
        Dim dte As Date = CDate(str)
        MsgBox(dte.Month)
    End Sub

问题:

1)消息框打印:我希望它根据以下引用打印1:"你必须以M/d/yyyy的格式指定日期值"。
2)字符串字面值是:1-2-1999而不是#1-2-1999#,然而引号说:"你必须在数字符号(# #)中包含日期字面值"。

来自MSDN: You must enclose a Date literal within number signs (# #). You must specify the date value in the format M/d/yyyy, for example #5/31/1993#.那不是你做的。您创建了一个字符串,然后将其转换为日期。使用文字

创建Date变量
Dim dte As Date = #1/2/1999#
Console.WriteLine(dte.Month)      ' prints 1  

最新更新