Windows和Linux下获取yyyy-MM-dd HH:mm:ss(2022-04-01 08:11:22)格式日期时间。
Window下有一个小坑:10点前,小时只有1位(如9:01),需要自己处理前补0。
具体脚本如下:
Windows bat脚本
:: %time%输出时间,10点前,小时只有1位,如9:01
:: %date%输出的月、日,%time%输出的分、秒已自动加上0
@echo off
if "%time%" lss "10:00" (
::%date:~0,4%表示取%date%从第0位开始的4位
::系统时间格式设置可能不同,可根据时间格式修改%date%、%time%取值位置
set now=%date:~0,4%-%date:~5,2%-%date:~8,2% 0%time:~1,1%:%time:~3,2%:%time:~6,2%
) else (
set now=%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%:%time:~3,2%:%time:~6,2%
)
echo %now%
pause
Linux shell脚本
#!/bin/sh
#Linux date输出的月、日、时、分、秒都是2位,会自动前补0
now=`date '+%Y-%m-%d %H:%M:%S'`
echo $now