为什么这个CDATE格式不能mm/yyyy?

4 excel vba excel-vba

我想将字符串"mm/dd/yy hh:mm AM/PM"转换为日期"mm/yyyy"

为什么以下代码输出11-2-2015

Sub Test()

    Dim yourStringDate As String
    Dim yourDateVariable As Date

    yourStringDate = "11/2/15 12:00 AM"        
    yourDateVariable = Format(CDate(yourStringDate), "mm/yyyy")        
    MsgBox yourDateVariable

End Sub
Run Code Online (Sandbox Code Playgroud)

bre*_*tdj 8

怎么样

Dim yourStringDate As Date
yourStringDate = DateValue("11/2/15 12:00 AM")
MsgBox Format(yourStringDate, "mm/yyyy")
Run Code Online (Sandbox Code Playgroud)

或以您的原始格式

Dim yourStringDate As String
Dim yourDateVariable As Date
yourStringDate = "11/2/15 12:00 AM"
yourDateVariable = CDate(yourStringDate)
MsgBox Format(yourDateVariable, "mm/yyyy")
Run Code Online (Sandbox Code Playgroud)