windows10下获取时间戳的两种方式
环境
OS: windows10
timezone: HK
方式一:
command: date /t —> 2023/12/16 周六
command: time —> 20:39:07.71
commadn: time —> 3:47:40.68 —->小时为一位数
@echo off
rem /f 表示对一个文件或者一个命令的输出进行处理
rem "tokens=1-3 delims=/ " 按照 / 和空格来分割 %date% 的值
rem "tokens=1-4 delims=:." 按照 : . 和空格来分割 %time% 的值
rem get date
for /f "tokens=1-3 delims=/ " %%a in ("%date%") do (
set year=%%a
set month=%%b
set day=%%c
)
rem echo date:%year%%month%%day%
rem get time
for /f "tokens=1-4 delims=:." %%a in ("%time%") do (
set hour=%%a
set minute=%%b
set second=%%c
set millisecond=%%d
)
rem echo time:%hour%%minute%%second%_%millisecond%
set timestamp=%year%%month%%day%_%hour%%minute%%second%
echo timestamp:%timestamp%
pause
方式二:
rem 解决方式一中time 0到11点时小时数值前有空格
rem %date:~0,4%:从%date% 变量中提取子字符串。~0,4 表示从字符串的第一个字符开始(索引从0开始),取4个字符
echo timestamp_simple:%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
if %time:~0,2% LEQ 9 (echo timestamp_simple:%date:~0,4%%date:~5,2%%date:~8,2%_0%time:~1,1%%time:~3,2%%time:~6,2%) else (echo timestamp_simple:%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%)
pause
Comments