SET "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" 取值是20230527 70802, 为什么有空格怎么解决
时间: 2024-02-09 13:10:12 浏览: 137
如果您在命令中看到了空格,这可能是由于操作系统语言和区域设置的不同导致的。在某些语言和区域设置中,日期和时间之间会有空格。
为了解决这个问题,您可以尝试在命令中添加一个额外的字符串替换命令,以移除空格。例如:
```
SET "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
SET "timestamp=%timestamp: =%"
```
第二条命令将`%timestamp%`变量中的所有空格替换为空字符串,从而移除空格。这样,变量的值将变为"2023052770802",不再包含空格。
相关问题
set "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
这是一个 Windows 命令行脚本,作用是将当前日期和时间转换成一个格式为 yyyymmddHHMMSS 的时间戳,并将其存储在变量 timestamp 中。具体来说,date:~0,4 表示截取日期字符串的前四个字符,即年份;date:~5,2 表示截取日期字符串的第 5 和第 6 个字符,即月份;date:~8,2 表示截取日期字符串的第 8 和第 9 个字符,即日期。类似地,time:~0,2 表示截取时间字符串的前两个字符,即小时;time:~3,2 表示截取时间字符串的第 4 和第 5 个字符,即分钟;time:~6,2 表示截取时间字符串的第 7 和第 8 个字符,即秒数。最后将这些截取到的字符串按照 yyyyMMddHHmmss 的格式拼接起来,就得到了时间戳。
set "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%" 为什么时间是 20230527 70802
您使用的命令中,`%date%`和`%time%`变量的输出格式取决于操作系统的语言和区域设置。因此,如果您的操作系统语言和区域设置与预期不一致,那么输出结果也会不同。
另外,您的时间输出中的“70802”看起来是秒数的值,但是秒数的输出格式应该是两位数,因此这可能意味着您的时间格式已经被转换为了12小时制,而不是24小时制。
为了避免这些问题,您可以尝试使用以下命令来获取格式化的日期和时间:
```
SET "timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
```
该命令将日期和时间合并为一个字符串,并格式化为"年月日时分秒"的格式,以24小时制显示小时数。
阅读全文