Batch批處理獲取當前時間


這不是一個新問題,但是由於網上寫的都是針對自己的電腦設置,沒有通用性,而我呢,又需要在不同電腦上使用,因此,這命題一個問題了。其實也沒有什么好說的,直接上代碼。

@ECHO OFF 
set split=-
set datetimesplit= 

for /f "tokens=1,2,3,4,*" %%i in ('reg query "HKCU\Control Panel\International" ^| find /i "sShortDate"') do SET "dateformat=%%k" 
IF "%dateformat%" == "M/d/yyyy"   set A_DATE=%date:~6,4%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "M/d/yy"     set A_DATE=20%date:~6,2%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "MM/dd/yy"   set A_DATE=20%date:~6,2%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "MM/dd/yyyy" set A_DATE=%date:~6,4%%split%%date:~0,2%%split%%date:~3,2%
IF "%dateformat%" == "yy/MM/dd"   set A_DATE=20%date:~0,2%%split%%date:~3,2%%split%%date:~6,2%
IF "%dateformat%" == "yyyy-MM-dd" set A_DATE=%date:~0,4%%split%%date:~5,2%%split%%date:~8,2%
IF "%dateformat%" == "dd-MMM-yy"  set A_DATE=20%date:~7,2%%split%%date:~3,3%%split%%date:~0,2%
set A_NOW=%A_DATE%%datetimesplit%%time:~0,2%%split%%time:~3,2%%split%%time:~6,2%

echo %A_NOW%

其中有兩個可以設置的地方,就是split和datetimesplit,分別是日期與時間內容的分割符和日期與時間之間的分割符。通常可以設置為:-(減號),空,以及 空格,我相信會用到這個的應該是在批處理用,所以應該不有人想用冒號的吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM