windows - 在 Windows 批处理脚本中格式化日期和时间

标签 windows datetime formatting batch-file

在 Windows (Windows XP) 批处理脚本中,我需要格式化当前日期和时间,以便以后在文件名等中使用。

类似于 Stack Overflow 问题 How to append a date in batch files ,但随着时间的推移。

到目前为止我有这个:

echo %DATE%
echo %TIME%
set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%
echo %datetimef%

给出:

28/07/2009
 8:35:31.01
2009_07_28__ 8_36_01

有没有办法可以在 %TIME% 中允许一位数小时,所以我可以获得以下信息?

2009_07_28__08_36_01

最佳答案

我最终得到了这个脚本:

set hour=%time:~0,2%
if "%hour:~0,1%" == " " set hour=0%hour:~1,1%
echo hour=%hour%
set min=%time:~3,2%
if "%min:~0,1%" == " " set min=0%min:~1,1%
echo min=%min%
set secs=%time:~6,2%
if "%secs:~0,1%" == " " set secs=0%secs:~1,1%
echo secs=%secs%

set year=%date:~-4%
echo year=%year%

::在 WIN2008R2 例如我需要让你的 'set month=%date:~3,2%' 如下所示::否则 MONTH 会出现 00

set month=%date:~4,2%
if "%month:~0,1%" == " " set month=0%month:~1,1%
echo month=%month%
set day=%date:~0,2%
if "%day:~0,1%" == " " set day=0%day:~1,1%
echo day=%day%

set datetimef=%year%%month%%day%_%hour%%min%%secs%

echo datetimef=%datetimef%

关于windows - 在 Windows 批处理脚本中格式化日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1192476/

相关文章:

windows - 为什么讲述人不将自己报告为 Windows 的屏幕阅读器?

c# - 如何从某个端口上的服务器获取所有可用链接?

c# - c#中的日期时间字符串问题

objective-c - 格式字符串,带前导零的整数

iOS Swift - 如果当前日期等于本月的数字,则执行函数

windows - 将声音输出到音频设备

c++ - Windows/MinGW下相当于 "SIGINT"(posix)信号,用于捕获 "CTRL+C"

vba - 显示当前时间 (EST)

ios - 无法解析日期

javascript - 按作者列表分组并格式化作者列表