作为标题首字母,我需要填充now()函数以格式“YYYYMMDDHHMMSS”显示 我确实有一个关于尝试将其拆分出来的游戏,但这会丢掉我需要保留的前导零 mydt下面的例子是“27/02/2015 13:02:27” mydt =
我确实有一个关于尝试将其拆分出来的游戏,但这会丢掉我需要保留的前导零
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< 10但必须有一个更光滑的方式
感谢@ 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))
等等…..