計算刪除日期

2021-09-20 23:00:09 字數 1178 閱讀 2155

@echo off&setlocal enabledelayedexpansion

rem 計算刪除日期

:: 檔案的格式為yyyy-mm-dd.*

:: 以下 dz=備份檔案的路徑

::      ds=為預定要保留的天數  (可修改,但不要大於28)

set dz=e:\bak

set ds=2

::取當前系統日期的 年、月、日

set dy=%date:~,4%

set dm=%date:~5,2%

::處理月份帶0的,比如08,09,去掉前面的0,不然

::會被認為是8進製,導致錯誤。

::echo 去0前的月份值=%dm%

:again

if "%dm:~0,1%"=="0" (

set dm=%dm:~1%

goto again

)::echo 去0後的月份值=%dm%

set dd=%date:~8,2%

::處理日帶0的,比如08,09,去掉前面的0,不然

::會被認為是8進製,導致錯誤。

::echo 去0前的day值=%dd%

:againc

if "%dd:~0,1%"=="0" (

set dd=%dd:~1%

goto againc

)::echo 去0後的day值=%dd%

::echo 當前是  %dy%-%dm%-%dd%日

::計算應該刪的檔案的最新日期

set /a "feb=^!(%dy%%%4)+28"

if "%dy:~2,2%" equ "00" set/a "feb=!feb!-1+^!(%dy:~,2%%%4)"

set /a "dd-=%ds%"

if %dd% leq 0 (

set n=0

set/a dm-=1

if !dm! equ 0 set/a "dy=%dy%-1,dm=0+12" 

for %%a in (31 %feb% 31 30 31 30 31 31 30 31 30 31) do (

set/a n=!n!+1

if !n! equ %dm% set/a "dd=!dd!+%%a"))

set deldate=%dy%-%dm%-%dd%

至此deldate為計算出來的日期值。

日期類函式(計算日期)

includeusing namespace std int runnian int year 判斷該年是否是閏年 int riqi int month,int year 因為每個月的的天數不一樣,所以用乙個函式進行判斷 else day 30 else return day class date ...

C 計算日期

今天datetime.now.date.toshortdatestring 昨天,就是今天的日期減一 datetime.now.adddays 1 toshortdatestring 明天,同理,加一 datetime.now.adddays 1 toshortdatestring 本週 要知道本週...

Problem D 日期計算

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 如題,輸入乙個日期,格式如 2010 10 24 判斷這一天是這一年中的第幾天。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,輸出判斷出的天數n 樣例輸入 3 2000 4 5 2001 5 4 2010 10 24...