Board logo

标题: [求助]获取日期变量的问题(已解决) [打印本页]

作者: bigfaint     时间: 2008-4-8 11:14    标题: [求助]获取日期变量的问题(已解决)
今天遇到一个奇怪的问题。 我需要用批处理将日期赋值给一个变量,这个是我echo date的结果:2008-04-08 星期二 这个是我赋值的语句: set /a month=%date:~5,2% set /a day=%date:~8,2% 给month的赋值没问题,给day的赋值就出现错误。错误提示是:“无效数字。数字常数只能是十进制(17),十六位进制(0x11)或 八进制(021)。“我改成for的形式赋值,得到同样的错误提示。 而前几天都没有问题。昨天,我做过修改将长日期格式改成”yyyy'年'M'月'd'日' dddd",今天出现错误后,将dddd取消了,错误还是存在。 请大家指教,非常感谢! [ Last edited by bigfaint on 2008-4-8 at 12:04 PM ]

作者: slore     时间: 2008-4-8 11:24
不是计算…… 你/a干嘛?

作者: bigfaint     时间: 2008-4-8 11:40
我要把08变成8

作者: slore     时间: 2008-4-8 11:49
@echo off set month=%date:~5,2% set day=%date:~8,2% if %month:~0,1%==0 (set month=%month:~1%) if %day:~0,1%==0 (set day=%day:~1%) echo %month% %day% pause>nul set的帮助看了麽? 用0开头的数字当8进制数…… 八进制的只有0~7这些字符……08就提示错误了。 就2个字符嘛,自己set截取下……就好了。

作者: terse     时间: 2008-4-8 12:00
如果要用 set/a 可试: set/a month=1%date:~5,2%-100 set/a day=1%date:~8,2%-100 echo %month% %day%

作者: bigfaint     时间: 2008-4-8 12:01
解决了,又学到了东西,非常感谢!

作者: yrbo     时间: 2008-4-10 14:40
爬文爬了好久終於找到我要的語法,感恩!!