找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 4103|回复: 2

[日期时间] 通过bat脚本获取网络中的北京时间并且打印出来

[复制链接]
发表于 2025-6-15 08:02:36 | 显示全部楼层 |阅读模式
通过bat脚本获取网络中的北京时间并且打印出来
  1. @echo off
  2. chcp 65001
  3. setlocal EnableDelayedExpansion

  4. :: 获取微软服务器的 Date 头信息,并转换为北京时间
  5. for /f "usebackq delims=" %%i in (`powershell -NoProfile -Command ^
  6.     "(Invoke-WebRequest -Uri 'https://www.microsoft.com' -UseBasicParsing).Headers.Date.ToUniversalTime().AddHours(8).ToString('yyyy-MM-dd HH:mm:ss')"`) do (
  7.     set "netTime=%%i"
  8. )

  9. :: 输出结果
  10. if defined netTime (
  11.     echo 当前网络北京时间:!netTime!
  12. ) else (
  13.     echo 获取网络时间失败!
  14. )

  15. endlocal
  16. pause
复制代码
我这个方法无法打印时间我不太清楚为什么
发表于 2025-6-15 09:09:15 | 显示全部楼层
改一点试试
  1. ([datetime](iwr http://www.bathome.net).headers.date).ToLocalTime()
复制代码
发表于 2025-6-15 13:12:14 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-6-15 13:24 编辑

回复 1# notg

直接在命令行上跑以下代码...

  1. set/p="当前网络北京时间:"<nul &powershell "$ProgressPreference='SilentlyContinue';([datetime](iwr 'https://www.microsoft.com').headers.date).tostring('yyyy-MM-dd HH:mm:ss')
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 09:28 , Processed in 0.017952 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表