Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:如何以字符串yyyy mm dd形式获取日期_Excel_Vba - Fatal编程技术网

Excel VBA:如何以字符串yyyy mm dd形式获取日期

Excel VBA:如何以字符串yyyy mm dd形式获取日期,excel,vba,Excel,Vba,我试图以字符串形式获取日期,格式为yyyy-mm-dd 我尝试过各种各样的方法,结果都很奇怪: Dim mydate As String mydate = Date mydate = Year(Date) mydate = Month(Date) mydate = Day(Date) 第一个是11/02/,没有年份 我可以尝试连接数据,但: 第二个是年份OK 然而,第三个月是2,而不是02 第四名也是如此 欢迎提供任何说明或示例。使用VBA.Strings内置模块中的Format功能: Deb

我试图以字符串形式获取日期,格式为
yyyy-mm-dd

我尝试过各种各样的方法,结果都很奇怪:

Dim mydate As String
mydate = Date
mydate = Year(Date)
mydate = Month(Date)
mydate = Day(Date)
  • 第一个是
    11/02/
    ,没有年份
  • 我可以尝试连接数据,但:

  • 第二个是年份OK
  • 然而,第三个月是2,而不是02
  • 第四名也是如此

  • 欢迎提供任何说明或示例。

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

    Debug.Print Format(Now, "YYYY-MM-DD")
    
    在某些VBA中,Format()函数不可用。在这种情况下,您可以按旧方式进行:

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

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

    相关:完美。非常感谢你!
    Dim sToday As String
    sToday = CStr(Date)