我想用英文月份名称以特定格式检索今天的日期。
我正在使用
Format(DateValue(Now), "dd-mmm-yyyy")
,这给了我
05-cze-2013
,这是波兰语。我想要得到的是
05-Jan-2013
.
我只对 VBA 解决方案感兴趣。还请提供一种将语言环境设置回原始的方法,同样使用 VBA。
我想用英文月份名称以特定格式检索今天的日期。
我正在使用
Format(DateValue(Now), "dd-mmm-yyyy")
,这给了我
05-cze-2013
,这是波兰语。我想要得到的是
05-Jan-2013
.
我只对 VBA 解决方案感兴趣。还请提供一种将语言环境设置回原始的方法,同样使用 VBA。
这不是很困难...
Sub VBA_Dates_Format()
Cells.Clear
Range("A1").Value = Now
Range("A2").Value = Now
' Polish
Range("A1").NumberFormat = "[$-415]d mmm yy;@"
' English UK
Range("A2").NumberFormat = "[$-809]d mmm yy;@"
End Sub
我通过记录和修改宏以适应标准来实现这一点。
它不是干净的 VBA,但它是一种在字符串中获取本地化格式化日期的方法。Format 函数不能做的事情。
With Range("$A$1")
.NumberFormat = "[$-809]dd mmmm"
.FormulaR1C1 = "=NOW()"
tmp = .Text
.NumberFormat = "@"
.Value = CStr(tmp)
End With
有关本地化格式的更多信息我很好的回答https://stackoverflow.com/a/899290来自 Ian Boyd