下面的代码用于提供所请求的时间分隔符,但现在 Windows 10 上的 Excel2016 产生了错误的结果。
Public Sub TestDateFormat()
Dim s As String
Dim d As Date
d = Now()
s = Format(d, "yyyy.mm.dd Hh:Nn:Ss")
Debug.Print s
End Sub
============================================
测试日期格式
2018.11.08 13.43.26
Windows 10 Pro 版本 10.0.17134 Excel for Office 版本 16.0.11001.20074
其他人有这个吗?
答案1
vba 函数中存在问题。格式似乎使用给定的特殊日期分隔符,但使用区域设置的时间分隔符!天哪!
答案2
使用日期单元格以您想要的格式存储日期:
cell.NumberFormat = "yyyy.mm.dd hh:mm:ss"
答案3
StrReverse(Replace(StrReverse(Format(d, "yyyy.mm.dd Hh:Nn:Ss")), ".", ":", 1, 2))