无忧启动论坛

标题: dos 批处理如何取得当前时间的秒? [打印本页]

作者: crtrccrtt    时间: 7 小时前
标题: dos 批处理如何取得当前时间的秒?
本帖最后由 crtrccrtt 于 2026-3-4 09:26 编辑

dos  批处理如何取得当前时间的秒?


交互操作
C:\>time
当前时间:  9:17:58.08
输入新时间:



直接返回j时+分
C:\>time /t
09:18

在下面bat中,只能取得j时+分,如何取得秒?求教热心网友。
@echo off
for /f "tokens=1, 2 delims=:" %%j in ('TIME /T') do set RQ=_%%j时_%%k分
echo %RQ%
pause

尽量使用dos,不用powershell,不用powershell兼容性好,XP也能使用

求教热心网友。





作者: ohte    时间: 6 小时前
  1. @echo off
  2. set timeStr=%TIME%
  3. :: 移除可能的AM/PM标识
  4. set timeStr=%timeStr:AM=%
  5. set timeStr=%timeStr:PM=%
  6. :: 提取秒数
  7. set seconds=%timeStr:~6,2%
  8. echo 秒数: %seconds%
  9. pause
复制代码

作者: austere    时间: 6 小时前
  1. @echo off
  2. for /f "tokens=1, 2 delims=:" %%j in ('TIME /T') do set RQ=_%%j时_%%k分_%time:~6,2%秒
  3. echo %RQ%
  4. pause
复制代码

作者: magicgenius    时间: 6 小时前
echo 当前时间:%time:~0,2%时%time:~3,2%分%time:~6,2%秒
作者: crtrccrtt    时间: 6 小时前
本帖最后由 crtrccrtt 于 2026-3-4 10:28 编辑

感谢各位热心网友

@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2,3,4 delims=.:" %%j in ('echo %time%') do set RQ=_%%j时_%%k分_%%l秒_%%m毫秒
echo %RQ%
echo %RQ%set RQ=_%time:~0,2%时_%time:~3,2%分_%time:~6,2%秒_%time:~9,2%毫秒
echo %RQ%
pause

两法均返回
_10时_14分_55秒_76毫秒





作者: dxy796    时间: 6 小时前
学习一下
作者: 风中木木    时间: 6 小时前

学习一下
作者: yyz2191958    时间: 5 小时前
crtrccrtt 发表于 2026-3-4 10:14
感谢各位热心网友

@echo off

这个不是真的毫秒
作者: szwp    时间: 5 小时前
echo %time:~6,2%
作者: hhcha    时间: 5 小时前
austere 发表于 2026-3-4 09:57

感谢分享!
作者: a66    时间: 5 小时前
  1. @echo off
  2. setlocal enabledelayedexpansion

  3. set "timeStr=%TIME%"
  4. set "timeStr=!timeStr:AM=! "
  5. set "timeStr=!timeStr:PM=! "

  6. :: 去除毫秒部分
  7. for /f "tokens=1-3 delims=:" %%a in ("%timeStr%") do (
  8.     set "hour=%%a"
  9.     set "min=%%b"
  10.     set "sec=%%c"
  11. )

  12. echo 秒数: %sec%
  13. pause
复制代码




作者: ylbf    时间: 5 小时前
使用
  1. wmic OS Get localdatetime
复制代码
获取时间然后截取呢?符不符合你的要求
返回的格式是这样的
  1. LocalDateTime
  2. 20260304110055.856000+480
复制代码


作者: xjp    时间: 5 小时前
感谢分享!
作者: 狼人72105    时间: 4 小时前
set "current_time=%time: =0%"      :: 将空格替换为0 echo %current_time%                 :: 输出 09:05:30.12
作者: guong    时间: 3 小时前
来学习学习
作者: youonly675    时间: 2 小时前
一个 for 语句 可以解决大部分 DOS 问题
作者: youonly675    时间: 2 小时前
获取秒用DOS 性能不好! 其它语言好一点 比如 同样是脚本 VBS
作者: 奇游加速器有毒    时间: 2 小时前
万能的编程语言 DOS                   for            完事!
作者: 奇游加速器有毒    时间: 2 小时前
万能的编程语言 DOS                   for            完事!
作者: zglong8888    时间: 2 小时前
感谢分享
作者: yj19    时间: 1 小时前
学习一下
作者: l3429900    时间: 1 小时前
crtrccrtt 发表于 2026-3-4 10:14
感谢各位热心网友

@echo off

毫秒应该为3位,不是2位,1秒=1000毫秒
作者: xianglang    时间: 半小时前
magicgenius 发表于 2026-3-4 10:08
echo 当前时间:%time:~0,2%时%time:~3,2%分%time:~6,2%秒

这个最直截了当和简洁。

作者: 奇游加速器有毒    时间: 25 分钟前
你要秒干什么?




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3