批处理获取当前系统日期及时间及星期转换为数字并加以格式美化的bat代码

发布于:2022-12-21 ⋅ 阅读:(1110) ⋅ 点赞:(0)

代码如下:

@echo off&setlocal enabledelayedexpansion
::批处理获取当前系统日期及时间并格式美化的bat代码
echo 读取系统日期和时间(普通)
echo.
echo %date%%time%
echo 或者
echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%
echo 或者可以缩短年份后显示
echo %date:~2,2%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo 还可以美化一下
echo 日期:%date:~0,4%年%date:~5,2%月%date:~8,2%日%date:~-2,3% 时间:%time:~0,2%时%time:~3,2%分%time:~6,2%秒
echo.
echo.
echo 但是小时还是不够美观,如果小时值不够两位需要补零就好看些了,例如早上8点时前面就会是个空格,来看看如何解决
if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
echo %hour%
echo.或者你还可以这样写
set hour0=%time: =0%
set hour=%hour0:~0,2%
echo %hour%时
echo.
echo.
echo 如果再把星期几转换成数字,可以加上下面这行代码
for %%i in (一 二 三 四 五 六 日) do (set /a a+=1&if %%i==%date:~-1% (set xq=!a!))
echo 星期 %xq% 就是星期的调用命令,然后下面再加上小时补零代码
if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
echo 下面来看看完整的纯数字显示效果吧
echo %date:~0,4%%date:~5,2%%date:~8,2%%xq%%hour%%time:~3,2%%time:~6,2%
echo.这个是不是可以作为唯一的ID标识或日志记录信息呢?
echo 其实还有一种直接先格式化后显示的方法,如
set d=%date:~0,10%
set d=%d:-=%
set d=%d:/=%
set d=%d: =0%
set t=%time:~0,8%
set t=%t::=%
set t=%t: =0%
echo %d%%xq%%t%
echo 这种方式也是不错的选择,除了这些还有很多显示的方法,有时间再慢慢补充吧,今天就写到这里吧。
echo.
pause

以上内容可以另存为bat代码直接运行显示效果。