批次檔的日期和時間操作
在日常的工作排程中,時間控制是少不了的,所以需要取得目前的日期和時間,而有些工作還會涉及到跨日執行,所以,記下批次檔昨天、今天、明天和時間的相關操控方式 工作環境: Windows 11 時間與地區 > 語言與地區 > 地區 > 國家與地區:臺灣 ;地區格式:推薦項目 #昨天、今天、明天 #如果結果不如預期,你可能要利用上述的工作環境設定,檢查一下時間與地區的相關設定,因為使用不同的設定,日期與時間表示的格式和順序可能會有所不同 @echo off setlocal enableextensions disabledelayedexpansion REM 獲取當前日期和時間 for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" set "td.YY=%dt:~2,2%" set "td.YYYY=%dt:~0,4%" set "td.MM=%dt:~4,2%" set "td.DD=%dt:~6,2%" REM 去掉日期元素的補零 set /a "y=%td.YYYY%", "m=100%td.MM% %% 100", "d=(100%td.DD% %% 100)" REM 計算今天的日期 set "today.YYYY=%y%" set "today.YY=%y:~-2%" set "today.MM=%m:~-2%" set "today.DD=%d:~-2%" REM 計算明天的日期 set /a "d+=1" REM 計算每月的天數 set /a "ml=30+((m+m/8) %% 2)" & if %m% equ 2 set /a "ml=ml-2+(3-y %% 4)/3-(99-y %% 100)/99+(399-y %% 400)/399" ...