@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...