VBA:如何以字符串yyyy-mm-dd获取当天的日期

时间:2016-02-11 16:53:51

标签: vba excel-vba excel

我正在尝试将日期作为字符串yyyy-mm-dd

我尝试了各种奇怪的结果:

Dim mydate As String
mydate = Date
mydate = Year(Date)
mydate = Month(Date)
mydate = Day(Date)

但第一个给出11/02 /没有年份(?) 我可以尝试连接数据但是: 第二个给年份好 然而,第三个月为2而不是02 类似于第四。

非常欢迎任何澄清或示例

3 个答案:

答案 0 :(得分:4)

使用Format内置模块中的VBA.Strings功能:

Debug.Print Format(Now, "YYYY-MM-DD")

答案 1 :(得分:1)

Dim sToday As String
sToday = CStr(Date)

这给出了 sToday 的价值,例如“2020-12-31”,格式为我系统的日期。

答案 2 :(得分:0)

在某些VBA中, Format()函数不可用。在这种情况下,您可以按照旧的方式进行操作:

y = cstr(year(now))
m = right("0" + cstr(month(now)),2)
d = right("0" + cstr(day(now)),2)   
mydate = y + "-"+ m + "-" + d