【问题标题】:How to format a date in Visual Basic?如何在 Visual Basic 中格式化日期?
【发布时间】:2021-12-27 18:52:00
【问题描述】:

在 Visual Basic 中,我有一个对象,其中包含一个 ItemDate 键,其值被分配给 ASPX 中的标签。代码如下:

lblItemDate.Text = .ItemDate

前端的结果是'2021/11/15'。我希望结果是:'2021 年 11 月 15 日'

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

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

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

【问题讨论】:

  • 你的意思是其他而不是Format()函数?
  • @RBarryYoung 你能写出 Format() 函数作为答案吗?我是 VB 新手,不知道那是什么

标签: asp.net vb.net


【解决方案1】:

假设您确实有一个 .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首先是一个日期时间值,然后Parse()调用被移动到第一次创建对象的位置。

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

【讨论】:

  • 我收到此错误:无法将“System.String”类型的对象转换为“System.IFormatProvider”类型。
  • 这是在另一个 VB 文件中创建它的方式:``` oItem.ItemDate = Trim(odbcReader("ItemDate").ToString) ``
  • 我应该将 'Trim(odbcReader("ItemDate").ToString)' 更改为什么才能让 'lblItemDate.Text = .ItemDate.ToString("MMMM dd, yyyy")' 工作?跨度>
  • odbcReader("ItemDate") 是日期吗?不要串起来;将其转换为 DateTime 并将其分配给 ItemDate
  • @CaiusJard 我是 VB 新手。我如何将它投射到日期?
【解决方案2】:

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

要获得“2021 年 11 月 15 日”,您可以这样做:

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

【讨论】:

    猜你喜欢
    • 2012-08-11
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多