当我做的时候
echo %date%
我输出为
pet 28.06.2013
其他日期
pon -> monday
tor -> tuesday
sre -> wedneday
cet -> thursday
pet -> friday
sob -> saturday
ned -> sunday
我写了下面的批处理文件来获取当天的月份和时间。但它不起作用。请帮忙/
FOR /F "tokens=1-3 delims=." %%A IN ("%sample%") DO (
SET day=%%A
SET month=%%B
SET year=%%C
)
echo %day%
echo %month%
echo %year%
输出
pet 28
06
2013
我希望输出为
28
06
2013
答案 0 :(得分:7)
这将根据您计算机上的本地日期执行此操作。我根据当地的计算机日期使用了偏移量,Fri 06/28/2013
- 您可以根据自己的情况进行调整,如下所示):
我的(在dateparse.bat
中):
@ECHO OFF
@ECHO.
@ECHO Date is %Date%
SET DayOfWeek=%Date:~0,3%
SET Day=%Date:~7,2%
SET Month=%Date:~4,2%
SET Year=%Date:~10,4%
SET Today=%Date:~10,4%-%Date:~4,2%-%Date:~7,2%
@ECHO Year is %Year%, Month is %Month%, Day is %Day%, DayOfWeek is %DayOfWeek%
@ECHO Today is %Today%
@ECHO.
输出:
解释(前两个赋值,其余留给你) - 注意输出的偏移量是基于零的,所以第一个字符是索引0
,第二个是索引1
,等等:
SET DayOfWeek=
创建一个名为DayOfWeek
%date%
会在您的系统上显示日期,例如pet 28.06.2013
:~,3
从第3个字符(星期五)的第一个(索引0)开始获取子字符串Day
环境变量Day
:~7,2
从8位(索引7)开始,取2个字符(28
)你的(未经测试 - 你可能需要调整):
SET DayOfWeek=%Date:%~0,3%
SET Day=%Date:~4,2%
SET Month=%Date:~7,2%
SET Year=%Date:~10,4%
ECHO %Year% %Month% %Day% %DayOfWeek% %Today%
答案 1 :(得分:4)
使用
"tokens=2-4delims=. "
请在结束"
答案 2 :(得分:2)
添加空格作为分隔符。
FOR /F "tokens=1-4 delims=. " %%A IN ("%sample%") DO (
SET day=%%B
SET month=%%C
SET year=%%D
)
echo %day%
echo %month%
echo %year%
答案 3 :(得分:0)
对于可靠的日期戳,这在XP Pro及更高版本中使用WMIC。
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
echo stamp: "%stamp%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
pause