作为标题激增,我需要格式化now()函数以“ YYYYMMDDHHMMSS”格式显示

我确实有尝试将其拆分的方法,但这会导致我需要保留的前导零

mydt下的示例为“ 27/02/2015 13:02:27”

mydt = now()

MSGBOX Year(mydt)& Month(mydt)& Day(mydt)& Hour(mydt)& Minute(mydt)& second(mydt)


这将返回“ 201522713227”

我需要它返回“ 20150227130227”,我可以使用if

最佳答案

感谢@ Ekkehard.Horner和@Bagger

我已审核了您的建议,并选择了以下内容以满足我的需求。

我选择了此格式,因为它更具实用性/适应性,我可以根据需要交换和更改日期格式。

Dim g_oSB : Set g_oSB = CreateObject("System.Text.StringBuilder")

Function sprintf(sFmt, aData)
   g_oSB.AppendFormat_4 sFmt, (aData)
   sprintf = g_oSB.ToString()
   g_oSB.Length = 0
End Function

'-------------------------------------------------------------------

Dim dt : dt = now()

WScript.Echo sprintf("{0:yyyyMMddhhmmss}", Array(dt))


这将以必需的格式yyyyMMddhhmmss返回值

20150302110727


如果您只需要日期,则只需更改sprintf

sprintf("{0:yyyyMMdd}", Array(dt))


只想时间

sprintf("{0:hhmmss}", Array(dt))


等等.....

08-25 00:16