在Windows批处理脚本中获取当前时间

在Windows批处理脚本中获取当前时间

我需要从批处理脚本中访问当前时间。输入时间在 cmd 中,我得到如下信息:

The current time is: 16:58:03.98
Enter the new time:

我需要的不是这些,而是​​将小时、分钟和秒放在不同的存储桶中,然后以任意方式进行处理。换句话说,我正在寻找一个返回小时值的函数,以便我可以将其分配给变量,如下所示:

var hour = GetCurrentHour()

谢谢!

答案1

FOR /F "TOKENS=1 DELIMS=:" %%A IN ('TIME/T') DO SET HH=%%A
FOR /F "TOKENS=2 DELIMS=:" %%A IN ('TIME/T') DO SET MM=%%A

现在您有两个变量 %HH% 表示小时,%MM% 表示分钟。希望这对您有所帮助。

答案2

时间和日期在两个系统变量中定义:%time%和%date%

(请注意,格式取决于区域和语言设置)

C:>回显 %时间%

17:16:13,39

C:>回显%日期%

2009年8月28日

联系人:>

答案3

综合所有这些帖子,我们可以得出原始问题的答案:

对于/f“tokens = 1-3 delims =:。” %% A在(“%time%”)中执行(

设置HH=%%A

设置 MM=%%B

设置SS=%%C)

将使用相应的值加载您的 HH MM 和 SS 存储桶。当然,您可以输入任何您想要的变量名称来代替它们。(保留名称除外。)如果您希望将秒的小数部分存储在最后一个值中,您也可以省略分隔符部分中的“。”(%time% 包含 HH:MM:SS.ss)

答案4

结合 Merstzik 和 Benoit 的答案并保存对外部程序的调用,您可以执行以下操作:

FOR /F "TOKENS=1 DELIMS=:" %%A IN ("%TIME%") DO SET HH=%%A
FOR /F "TOKENS=2 DELIMS=:" %%A IN ("%TIME%") DO SET MM=%%A

相关内容