批处理 获取昨天所属月的开始和结束时间
时间: 2023-09-08 13:11:24 浏览: 52
可以使用以下批处理命令获取昨天所属月的开始和结束时间:
```
@echo off
REM 获取昨天的日期
set "yesterday=%date:~0,-2%%date:~-2%"
set /a "yesterday-=1"
REM 获取昨天所属的年份和月份
for /f "tokens=1-3 delims=/" %%a in ("%yesterday%") do (
set "year=%%c"
set "month=%%b"
)
REM 计算昨天所属月的开始和结束时间
set "start=%year%-%month%-01 00:00:00"
if %month%==12 (
set /a "next_year=%year%+1"
set "end=%next_year%-01-01 00:00:00"
) else (
set /a "next_month=%month%+1"
set "end=%year%-%next_month%-01 00:00:00"
)
echo Start time: %start%
echo End time: %end%
```
解释:
首先通过 `%date%` 环境变量获取当前日期,并使用 `%date:~0,-2%%date:~-2%` 剪切字符串得到昨天的日期。
然后使用 `for /f` 命令解析昨天的日期,获取年份和月份。
最后根据年份和月份计算出昨天所属月的开始和结束时间。如果月份为 12,则结束时间为下一年的 1 月 1 日,否则为当年的下一个月的 1 日。
注意:以上代码假设日期格式为 `MM/DD/YYYY`,如果日期格式不同,则需要根据实际情况进行修改。