需要帮助填充数字月份和日期前导0

时间:2009-08-21 18:42:08

标签: date vbscript batch-file

我正在批处理文件中工作,如果不满10,则需要填充带有前导0的单个数字。我有环境变量中的值。它们是月和日,我需要填充以匹配我正在反对的文件结构。我正在使用vbscript返回以下列格式“7/16/2009”返回的日期。需要它看起来像“07/16/2009”,并且最重要的是需要单独的EV中的每个项目。

的VBScript:

WScript.Echo DateAdd("d", Date, -36)

批次:

for /F "tokens=1-3 delims=/" %%x in ('cscript //nologo get36thday.vbs') do (
   SET YYYY=%%z
   SET MM=%%x
   SET DD=%%y)

4 个答案:

答案 0 :(得分:8)

的VBScript:

dteOldDate = Now()
strNewDate = Right("00" & Month(dteOldDate), 2) & "/" & Right("00" & Day(dteOldDate), 2) & "/" & Year(dteOldDate)

答案 1 :(得分:3)

对于批处理脚本,我不知道完全语法,但批处理脚本可以从字符串的右侧侧返回指定数量的字符。< / p>

因此,在“0”字符后追加月份并取2个最右边的数字。它看起来可能与此类似:

SET MM=0%%x
SET MM=%MM:~-2%

1成为01
5成为05
10次​​入住10

答案 2 :(得分:0)

这是我填充字符串的方法。

在此示例中,MYVAR将填充为五个零。

SET MYVAR=00000%MYVAR%
SET MYVAR=%MYVAR:~-5%

答案 3 :(得分:0)

虽然如果你不知道要用前面的零填充的字符串的长度,其他答案是有用的,对于日期和时间,简单的字符串替换将会这样做。

set hour=!TIME:~0,2!
set hour=!hour: =0!

简而言之,如果有空格,它将被替换为0。