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

如何用VBA代码获取格式为24.10.2019 / 08:45:57的当前日期时间?

获取指定格式的当前日期时间(VBA实现)

嘿,这事儿简单!要生成DD.MM.YYYY / HH:MM:SS这种格式的当前日期时间,用VBA的Format函数就能完美实现,我给你两种实用的写法:

1. 自定义函数(方便重复调用)

如果需要在多个地方用到这个格式化后的时间,写个自定义函数最省心:

Function GetFormattedDateTime() As String
    ' 生成并返回格式为「DD.MM.YYYY / HH:MM:SS」的当前日期时间
    GetFormattedDateTime = Format(Now(), "dd.mm.yyyy / hh:mm:ss")
End Function

简单拆解下逻辑:

  • Now():VBA内置函数,直接返回当前系统的日期和时间
  • Format():核心处理函数,第二个参数是我们指定的格式模板:
    • dd → 两位数字的日期(比如24)
    • mm → 两位数字的月份(比如10)
    • yyyy → 四位数字的年份(比如2019)
    • hh → 24小时制的两位数字小时(比如08)
    • mm → 两位数字的分钟(和月份的mm不冲突,因为位置对应时间部分)
    • ss → 两位数字的秒数(比如57)
    • 模板里的., /, 空格都是固定分隔符,直接保留即可

你可以在Excel单元格里直接调用这个函数:=GetFormattedDateTime(),也能在其他VBA过程里复用它。

2. 直接在过程中使用(一次性场景)

如果只是某个特定过程里需要用一次,直接写在代码里就行,比如写入单元格或者弹窗显示:

Sub ShowFormattedDateTime()
    Dim formattedTime As String
    ' 生成格式化后的时间字符串
    formattedTime = Format(Now(), "dd.mm.yyyy / hh:mm:ss")
    
    ' 示例1:把结果写入Excel的A1单元格
    Range("A1").Value = formattedTime
    
    ' 示例2:弹出窗口显示结果
    MsgBox "当前格式化日期时间:" & vbCrLf & formattedTime, vbInformation
End Sub

小提示:

如果需要改成12小时制的时间,只需要把格式模板里的hh改成hh AM/PM就行,但你要的是24小时制,用hh正好匹配需求。

内容的提问来源于stack exchange,提问作者Josef Fancy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 22:28:11