无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 379|回复: 29
打印 上一主题 下一主题

[求助] dos 批处理如何取得当前时间的秒?

[复制链接]
跳转到指定楼层
1#
发表于 昨天 09:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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也能使用

求教热心网友。




2#
发表于 昨天 09:51 | 只看该作者
  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
复制代码

点评

好人  发表于 昨天 10:05

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

3#
发表于 昨天 09:57 | 只看该作者
  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
复制代码

点评

感谢分享!  详情 回复 发表于 昨天 10:47
好人  发表于 昨天 10:05

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

4#
发表于 昨天 10:08 | 只看该作者
echo 当前时间:%time:~0,2%时%time:~3,2%分%time:~6,2%秒

点评

这个最直截了当和简洁。  详情 回复 发表于 昨天 15:44
好人  发表于 昨天 10:15

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

5#
 楼主| 发表于 昨天 10:14 | 只看该作者
本帖最后由 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毫秒




点评

毫秒应该为3位,不是2位,1秒=1000毫秒  详情 回复 发表于 昨天 15:24
这个不是真的毫秒  详情 回复 发表于 昨天 10:36
显示毫秒,不错  发表于 昨天 10:33

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

6#
发表于 昨天 10:16 | 只看该作者
学习一下
回复

使用道具 举报

7#
发表于 昨天 10:17 | 只看该作者

学习一下
回复

使用道具 举报

8#
发表于 昨天 10:36 | 只看该作者
crtrccrtt 发表于 2026-3-4 10:14
感谢各位热心网友

@echo off

这个不是真的毫秒
回复

使用道具 举报

9#
发表于 昨天 10:47 | 只看该作者
echo %time:~6,2%
回复

使用道具 举报

10#
发表于 昨天 10:47 | 只看该作者
回复

使用道具 举报

11#
发表于 昨天 10:49 | 只看该作者
  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
复制代码



回复

使用道具 举报

12#
发表于 昨天 11:04 | 只看该作者
使用
  1. wmic OS Get localdatetime
复制代码
获取时间然后截取呢?符不符合你的要求
返回的格式是这样的
  1. LocalDateTime
  2. 20260304110055.856000+480
复制代码

回复

使用道具 举报

13#
发表于 昨天 11:24 | 只看该作者
感谢分享!
回复

使用道具 举报

14#
发表于 昨天 11:55 来自手机 | 只看该作者
set "current_time=%time: =0%"      :: 将空格替换为0 echo %current_time%                 :: 输出 09:05:30.12
回复

使用道具 举报

15#
发表于 昨天 13:23 | 只看该作者
来学习学习
回复

使用道具 举报

16#
发表于 昨天 14:14 | 只看该作者
一个 for 语句 可以解决大部分 DOS 问题
回复

使用道具 举报

17#
发表于 昨天 14:15 | 只看该作者
获取秒用DOS 性能不好! 其它语言好一点 比如 同样是脚本 VBS
回复

使用道具 举报

18#
发表于 昨天 14:18 | 只看该作者
万能的编程语言 DOS                   for            完事!
回复

使用道具 举报

19#
发表于 昨天 14:18 | 只看该作者
万能的编程语言 DOS                   for            完事!
回复

使用道具 举报

20#
发表于 昨天 14:29 | 只看该作者
感谢分享
回复

使用道具 举报

21#
发表于 昨天 15:09 | 只看该作者
学习一下
回复

使用道具 举报

22#
发表于 昨天 15:24 | 只看该作者
crtrccrtt 发表于 2026-3-4 10:14
感谢各位热心网友

@echo off

毫秒应该为3位,不是2位,1秒=1000毫秒
回复

使用道具 举报

23#
发表于 昨天 15:44 | 只看该作者
magicgenius 发表于 2026-3-4 10:08
echo 当前时间:%time:~0,2%时%time:~3,2%分%time:~6,2%秒

这个最直截了当和简洁。
回复

使用道具 举报

24#
发表于 昨天 16:04 | 只看该作者
你要秒干什么?
回复

使用道具 举报

25#
发表于 昨天 17:24 | 只看该作者
忘了说了,脚本代码 现在的AI 很熟练了 你直接问就可以了!
回复

使用道具 举报

26#
发表于 昨天 21:29 | 只看该作者
学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2026-3-5 01:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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