如何使用命令提示符获取当前系统日期和时间?

2 windows batch command-line

我想使用命令提示符获取当前系统日期和时间。
如何获得特定格式的日期MM-DD-YYYY HH:MIN AM/PM

Joe*_*oey 5

实际上,很容易获得日期和时间:

set Year=
for /f "skip=2" %%x in ('wmic Path Win32_LocalTime get Year^,Month^,Day^,Hour^,Minute^,Second /Format:List') do (
  if not defined Year set %%x
)
Run Code Online (Sandbox Code Playgroud)

我假设这里是当地时间。如果您需要 UTC,请相应地进行调整。

你的格式让事情变得更加复杂。如果我在这里出错,我很抱歉,我不熟悉 am/pm 格式。

if %Hour% LSS 12 (
  set ampm=AM
  if %Hour%==0 set Hour=12
) else (
  set ampm=PM
  set /a Hour-=12
)
Run Code Online (Sandbox Code Playgroud)

我们需要一些前导零:

if %Month% LSS 10 set Month=0%Month%
if %Day% LSS 10 set Day=0%Day%
if %Minute% LSS 10 set Minute=0%Minute%
if %Hour% LSS 10 set Hour=0%Hour%
Run Code Online (Sandbox Code Playgroud)

然后是组装零件的时候了:

set Timestamp=%Month%-%Day%-%Year% %Hour%:%Minute% %ampm%
Run Code Online (Sandbox Code Playgroud)

(只是一个随机注释:你到底为什么想要那种时间戳格式?)