首页
学习
活动
专区
工具
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天前的日期。

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

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

相关·内容

  • mysql 自动定时备份的几种方法

    1、复制date文件夹备份 ============================ 假想环境: MySQL   安装位置:C:\MySQL 论坛数据库名称为:bbs 数据库备份目的地:C:\db_bak\ ============================ 新建db_bak.bat,写入以下代码 *******************************Code Start***************************** net stop mysql xcopy c:\mysql\data\bbs\*.* c:\db_bak\bbs\%date:~0,10%\ /S /I net start mysql *******************************Code End *****************************    然后使用Windows的“计划任务”定时执行该批处理脚本即可。(例如:每天凌晨3点执行back_db.bat) 解释:备份和恢复的操作都比较简单,完整性比较高,控制备份周期比较灵活,例如,用%date:~0,10%。此方法适合有独立主机但对mysql没有管理经验的用户。缺点是占用空间比较多,备份期间mysql会短时间断开(例如:针对30M左右的数据库耗时5s左右),针对%date:~0,10%的用法参考           。 2、mysqldump备份成sql文件 ============== 假想环境: MySQL   安装位置:C:\MySQL 论坛数据库名称为:bbs MySQL root   密码:123456 数据库备份目的地:D:\db_backup\ 脚本: rem *******************************Code Start***************************** @echo off

    04
    领券