对于我所知道的,Batch没有给出UNIX时间的命令.我找到的最接近的是%time%,它只显示时间戳.
在Batch中是否有命令或一组命令可以获得UNIX时间?
有
Richie Lawrence’s batch library有所有这些漂亮的方便的脚本.您需要的是
DateToSec(使用
GetDate和
GetTime).
原文链接:https://www.f2er.com/bash/383728.html这是一个简化的脚本,它使用了一点点WMI:
@echo off setlocal call :GetUnixTime UNIX_TIME echo %UNIX_TIME% seconds have elapsed since 1970-01-01 00:00:00 goto :EOF :GetUnixTime setlocal enableextensions for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do ( set %%x) set /a z=(14-100%Month%%%100)/12,y=10000%Year%%%10000-z set /a ut=y*365+y/4-y/100+y/400+(153*(100%Month%%%100+12*z-3)+2)/5+Day-719469 set /a ut=ut*86400+100%Hour%%%100*3600+100%Minute%%%100*60+100%Second%%%100 endlocal & set "%1=%ut%" & goto :EOF
结果将返回到传递给GetUnixTime的第一个参数,即%UNIX_TIME%.
例如:
1341791426 seconds have elapsed since 1970-01-01 00:00:00
希望有帮助!