You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MS Access VBA中设置日期固定显示为英文

在Access表单生成Outlook邮件时强制日期显示为英文格式

方法1:使用Format函数指定英文区域设置

Access的Format函数支持通过区域ID(LCID)指定日期格式的语言,直接用英文美国的LCID(409)就能强制输出英文月份:

  • 生成December 19, 2022格式:

    Dim eventDate As Date
    eventDate = CDate(Me.txtEventDate) ' 确保转换为日期类型
    Dim formattedDate As String
    formattedDate = Format(eventDate, "mmmm dd, yyyy", 409)
    
  • 生成19 December 2022格式:

    formattedDate = Format(eventDate, "dd mmmm yyyy", 409)
    

将formattedDate直接插入Outlook邮件的正文或主题即可,不受系统语言影响。

方法2:自定义英文月份映射函数

如果不想依赖LCID,可自行编写函数返回英文月份名称:

Function GetEnglishMonth(dt As Date) As String
    Dim engMonths() As String
    engMonths = Split("January,February,March,April,May,June,July,August,September,October,November,December", ",")
    GetEnglishMonth = engMonths(Month(dt) - 1)
End Function

调用示例:

Dim eventDate As Date
eventDate = CDate(Me.txtEventDate)
Dim formattedDate As String
' 输出 December 19, 2022
formattedDate = GetEnglishMonth(eventDate) & " " & Day(eventDate) & ", " & Year(eventDate)
' 输出 19 December 2022
formattedDate = Day(eventDate) & " " & GetEnglishMonth(eventDate) & " " & Year(eventDate)

注意事项

  • 确保日期控件txtEventDate绑定的是日期/时间类型字段,若为文本类型,需先用CDate()转换为日期再处理。
  • 两种方法均无需修改系统语言设置,完全在Access VBA代码内处理格式,适配任意系统语言环境。

内容的提问来源于stack exchange,提问作者Farkhunda Rezaie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 10:19:53