首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有什么简单的方法可以使用批处理脚本CDM获取2天前的日期吗?

是的,可以使用批处理脚本CMD获取2天前的日期。以下是一个简单的方法:

代码语言:batch
复制
@echo off
setlocal

REM 获取当前日期
for /f "tokens=1-3 delims=/-" %%a in ("%date%") do (
    set "day=%%a"
    set "month=%%b"
    set "year=%%c"
)

REM 将当前日期转换为数字
set /a "day=10%day% - 100"
set /a "month=10%month% - 100"
set /a "year=10000%year% - 10000"

REM 计算2天前的日期
set /a "day-=2"
if %day% lss 1 (
    set /a "month-=1"
    if %month% lss 1 (
        set /a "year-=1"
        set "month=12"
    )
    if %month% equ 2 (
        if %year% equ 0 (
            set /a "leap=1"
        ) else if %year% equ 100 (
            set /a "leap=0"
        ) else if %year% equ 200 (
            set /a "leap=1"
        ) else if %year% equ 300 (
            set /a "leap=0"
        ) else if %year% equ 400 (
            set /a "leap=1"
        ) else if %year% equ 500 (
            set /a "leap=0"
        ) else if %year% equ 600 (
            set /a "leap=1"
        ) else if %year% equ 700 (
            set /a "leap=0"
        ) else if %year% equ 800 (
            set /a "leap=1"
        ) else if %year% equ 900 (
            set /a "leap=0"
        ) else if %year% equ 1000 (
            set /a "leap=1"
        ) else if %year% equ 1100 (
            set /a "leap=0"
        ) else if %year% equ 1200 (
            set /a "leap=1"
        ) else if %year% equ 1300 (
            set /a "leap=0"
        ) else if %year% equ 1400 (
            set /a "leap=1"
        ) else if %year% equ 1500 (
            set /a "leap=0"
        ) else if %year% equ 1600 (
            set /a "leap=1"
        ) else if %year% equ 1700 (
            set /a "leap=0"
        ) else if %year% equ 1800 (
            set /a "leap=1"
        ) else if %year% equ 1900 (
            set /a "leap=0"
        ) else if %year% equ 2000 (
            set /a "leap=1"
        ) else if %year% equ 2100 (
            set /a "leap=0"
        ) else if %year% equ 2200 (
            set /a "leap=1"
        ) else if %year% equ 2300 (
            set /a "leap=0"
        ) else if %year% equ 2400 (
            set /a "leap=1"
        ) else (
            set /a "leap=0"
        )
        if %leap% equ 1 (
            set "day=29"
        ) else (
            set "day=28"
        )
    ) else if %month% equ 4 (
        set "day=30"
    ) else if %month% equ 6 (
        set "day=30"
    ) else if %month% equ 9 (
        set "day=30"
    ) else if %month% equ 11 (
        set "day=30"
    ) else (
        set "day=31"
    )
)
if %month% lss 10 set "month=0%month%"
if %day% lss 10 set "day=0%day%"

REM 输出2天前的日期
echo %year%-%month%-%day%

endlocal

这个批处理脚本首先获取当前日期,然后将日期转换为数字进行计算。接下来,它计算2天前的日期,并考虑了闰年的情况。最后,它输出2天前的日期。

请注意,这只是一个简单的方法,可能不适用于所有情况。在实际应用中,可能需要根据具体需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券