加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

批处理文件 – 批次:时间戳到UNIX时间

发布时间:2020-12-16 01:30:13 所属栏目:安全 来源:网络整理
导读:对于我所知道的,Batch没有给出UNIX时间的命令.我找到的最接近的是%time%,它只显示时间戳. 在Batch中是否有命令或一组命令可以获得UNIX时间? 有 Richie Lawrence’s batch library有所有这些漂亮的方便的脚本.您需要的是 DateToSec(使用 GetDate和 GetTime
对于我所知道的,Batch没有给出UNIX时间的命令.我找到的最接近的是%time%,它只显示时间戳.

在Batch中是否有命令或一组命令可以获得UNIX时间?

有 Richie Lawrence’s batch library有所有这些漂亮的方便的脚本.您需要的是 DateToSec(使用 GetDate和 GetTime).

这是一个简化的脚本,它使用了一点点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

希望有帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读