Visual Basic 中如何将日期格式化为「月份全称 日, 年」的格式
Visual Basic 日期格式调整方案
你当前的ItemDate被存储为字符串类型,赋值时直接输出默认字符串内容,因此无法自定义日期显示格式,可按以下两种方案调整:
方案1:调整ItemDate为日期类型(推荐)
从根源上避免字符串转日期的兼容问题:
- 修改
oItem类中ItemDate的属性定义,将类型从String改为Date(或DateTime)类型 - 修改属性赋值逻辑,直接读取数据库日期值,无需转字符串:
' 原代码 oItem.ItemDate = Trim(odbcReader("ItemDate").ToString) ' 替换为(可按需补充空值判断逻辑) If Not IsDBNull(odbcReader("ItemDate")) Then oItem.ItemDate = CDate(odbcReader("ItemDate")) End If
- 修改前端标签赋值代码,指定格式化规则,需提前引入
System.Globalization命名空间保证输出英文月份:
lblItemDate.Text = .ItemDate.ToString("MMMM dd, yyyy", CultureInfo.GetCultureInfo("en-US"))
方案2:不修改原有存储类型,赋值时临时转换
如果无法改动ItemDate的字符串类型定义,可在给标签赋值时临时做格式转换:
' 需提前引入System.Globalization命名空间 Dim itemDate As DateTime If DateTime.TryParse(.ItemDate, itemDate) Then lblItemDate.Text = itemDate.ToString("MMMM dd, yyyy", CultureInfo.GetCultureInfo("en-US")) Else ' 转换失败兜底逻辑,可自定义显示内容 lblItemDate.Text = .ItemDate End If
补充说明
格式符MMMM对应指定文化的完整月份名称,必须指定en-US文化才能输出英文月份,若不指定文化会默认使用服务器系统的默认文化,可能输出中文或其他语言的月份。
内容的提问来源于stack exchange,提问作者Page COW
相关产品推荐
相关产品推荐

