为什么 CDate(整数) 在整数格式为 YYYYMMDD 的情况下不起作用?



在整数格式为YYYYMMDD的情况下,为什么CDate(integer)不起作用?

为什么这个愚蠢的网站不让我提交这样一个简短的问题,而我除了在结尾添加一些华夫饼之外没有其他东西可以添加

1>2等等

不支持整数,根据MSDN:

使用IsDate函数确定值是否可以转换为日期和时间。CDate识别日期文字和时间文字,但是而不是数值。

这将返回false:

Dim isValid = IsDate("20120314") ' false

但是,您可以使用有效的日期表示形式作为字符串。示例:

Dim result = CDate(DateTime.Now.ToString("yyyy-MM-dd"))
艾哈迈德说的话。此外,您可以在您的特定示例中使用TryParseExact函数。。。
Dim Value As Integer = 20120314
Dim MyDate As DateTime
If DateTime.TryParseExact(Value.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None, MyDate) Then
    'Do what you want with MyDate.  For example...
    Console.WriteLine(MyDate.ToShortDateString())
End If

所有TryParseTryParseExact函数的美妙之处在于,它们只是返回一个布尔值,指示解析通过或失败。他们不会抛出异常。

最新更新