在 VB 中将数据放入 Date 对象后,您不必担心全球化,除非您将其与某些内容进行比较或尝试将其导出。
这可以:
Dim FirstDate as Date = Date.UtcNow() 'or this: = NewDate (2008,09,10)'
Dim SecondDate as Date
SecondDate = FirstDate.AddDays(1)
这会引入全球化规则并以当前线程的文化格式打印:
HeaderLabel.Text = SecondDate.ToString()
这是不好的:
Dim BadDate as Date = CDate("2/20/2000")
实际上——即使你在这种情况下强制 CDate 使用正确的文化(InvariantCulture)也可以:
Dim OkButBadPracticeDate as Date = CDate("2/20/2000", CultureInfo.InvariantCulture)
如果您想强制所有内容为特定文化,则需要将执行线程文化和 UI 文化设置为所需的文化(en-US、invariant 等)。
确保您没有将日期作为字符串进行任何工作——确保它们是实际的 Date 对象!