如何在 Visual Basic 中格式化日期?

How to format a date in Visual Basic?

在 Visual Basic 中,我有一个对象,其中有一个 ItemDate 键,该值被分配给 ASPX 中的一个标签。这是代码:

lblItemDate.Text = .ItemDate

前端的结果是'2021/11/15'。我希望结果是:'November 15, 2021'

我需要在 Visual Basic 中做什么才能使前端的结果为 'November 15, 2021' 而不是“2021/11/15”?

在另一个 VB 文件中,ItemDate 对象键是这样创建的:

oItem.ItemDate = Trim(odbcReader("ItemDate").ToString)

假设您确实有一个 .Net DateTime 结构:

lblItemDate.Text = .ItemDate.ToString("MMMM dd, yyyy")

否则你有一个字符串,在这种情况下你想解析成一个 .Net DateTime 结构,这样你就可以使用上面相同的 ToString() 调用:

Dim MyDate As DateTime = DateTime.ParseExact( .ItemDate, "yyyy/MM/dd") 
lblItemDate.Text = MyDate.ToString("MMMM dd, yyyy")

如果你能更新你的代码就更好了,所以 ItemDate 首先是一个 DateTime 值,并且 Parse() 调用被移动到第一次创建对象的地方。

已经有一段时间了,所以我不记得 .ItemDate 快捷方式在函数调用的上下文中是否可用。您可能需要使用完整版本的变量名。

除了另一个答案中提到的跨不同语言的 .Net 函数之外,还有 Format(..) 函数传统上包含在 BASIC 的专业实现中,自 70 年代初以来(我首先在 DEC 的 BASIC 中使用它-加上 1976 年)。

要获得 'November 15, 2021',您可以这样做:

lblItemDate.Text = Format(.ItemDate, "MMMM d, yyyy")