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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐