2013-06-28 53 views
2

當我這樣做獨立日的月份和年份從日期批處理文件

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 

回答

4

使用

"tokens=2-4delims=. " 

注意空格閉幕前"

+0

由於它是工作 –

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% 
0

對於可靠的日期戳記,這使用XP專業版和以上的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 
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. 

輸出:

Output of dateparse.bat

說明(前兩個分配,剩下的部分留給你) - 請注意,輸出的偏移量是基於零的,因此第一個字符是索引0,第二個索引是1,等等:

  • SET DayOfWeek=創建名爲DayOfWeek
  • %date%產生日期在系統上的顯示的環境變量,像pet 28.06.2013
  • :~,3需要的子字符串,起始於所述第一(索引0) 3個字符(星期五)
  • SET日=創建Day環境變量Day
  • 使用0的子字符串,起始於位置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% 
相關問題