请看下面的代码:
Dim dtEstComplDate As Date
Try
dtEstComplDate = "08-mar-16"
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Run Code Online (Sandbox Code Playgroud)
如果我将计算机本地格式设置为英语(美国),'08-mar-16'则分配为dtEstComplDate现在#3/82016#
,如果我将计算机格式更改为意大利语,则此分配会导致以下异常:
“从字符串“08-mar-16”到类型“日期”的转换无效。”
我尝试使用08-mrz-16意大利设置。它不起作用。
原因是这mar是英语中 March 的缩写,而不是意大利语中的缩写。
不要使用字符串来初始化日期。相反,你应该更改Option Strict为On. 然后,您将学到很多有关 .NET 方法和类型以及如何编写类型安全代码的知识。如果你想初始化一个 Date ,你可以使用构造函数:dtEstComplDate = New Date(2016, 3, 8)。
如果您确实必须解析字符串才能Date使用Date.Parse/Date.TryParse或Date.ParseExact/ Date.TryParseExact:
dtEstComplDate = Date.ParseExact("08-mar-16", "dd-MMM-yy", DateTimeFormatInfo.InvariantInfo)
Run Code Online (Sandbox Code Playgroud)
我使用它是InvariantInfo因为它源自英语格式。
| 归档时间: |
|
| 查看次数: |
502 次 |
| 最近记录: |