CDATE行为与文档不一致(对我而言)

时间:2014-06-26 18:26:29

标签: vb.net

请查看以下网页: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)消息框打印:2。我希望它根据以下引用打印1:"您必须以M / d / yyyy"格式指定日期值。

2)字符串文字是:1-2-1999而不是#1-2-1999#,但引用说:"你必须在数字符号(##)"

1 个答案:

答案 0 :(得分:2)

来自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