返回顶部
首页 > 资讯 > 精选 >批处理如何计算天数
  • 440
分享到

批处理如何计算天数

2023-06-09 22:06:52 440人浏览 泡泡鱼
摘要

小编给大家分享一下批处理如何计算天数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码一、:: DateDel2.bat - 删除指

小编给大家分享一下批处理如何计算天数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


代码一、


:: DateDel2.bat - 删除指定路径下指定日数以前修改的文件
:: 注意事项:变量 tian 为指定日数,昨天为1,前天为2,依次类推
:: 核心算法:Ritchie Lawrence, updated 2002-08-13. Version 1.1
::
@echo off & setlocal ENABLEEXTENSIONS 
call :Date2Day %date:~0,10% sdays
rem 下行的%tian%代表天数.
set /p tian=      请指定要追溯的天数:
set /a sdays-=tian
call :Day2Date %sdays% difdate
echo.&echo.
echo       指定的日期是:  %date:~0,10%
echo.
echo       %tian% 天前的日期是:%difdate%
echo.&pause
exit
:Date2Day
setlocal ENABLEEXTENSIONS 
for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do ( 
  set yy=%%a & set mm=%%b & set dd=%%c 
)
set /a dd=100%dd%%%100,mm=100%mm%%%100 
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2 
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&Goto :EOF 
:Day2Date
setlocal ENABLEEXTENSIONS 
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a 
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5 
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10 
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%) 
endlocal&set %2=%yy%-%mm%-%dd%&goto :EOF


代码二、

@echo off
:: 求N天前的日期
:: 思路:
::   模拟手工运算,用日期数减去天数,差值为负时向高位借1。
:: 特点:
::   代码简洁,容易理解,速度快慢取决于指定的天数大小
:: 日期可以带星期,但是,必须以年月日的顺序排列
:: 年份必须是四位,否则会出错
@echo off
:Main
cls
set day=%date%
set days=0
echo.&echo.
echo       指定的日期是:%day%
echo.
set /p input=      请指定要追溯的天数:
setlocal enabledelayedexpansion
:: 提取日期
for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do (
    set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
)
set /a sd-=input
if %sd% leq 0 call :count
cls
echo.&echo.
echo       指定的日期是:%day%
echo.
set sm=0%sm%
set sd=0%sd%
echo       %input% 天前的日期是:%sy%-%sm:~-2%-%sd:~-2%
pause>nul
goto Main
:count
set /a sm-=1
if !sm! equ 0 set /a sm=12, sy-=1
call :days
set /a sd+=days
if %sd% leq 0 goto count
goto :eof
:days
:: 获取指定月份的总天数
set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
set /a max=28+leap
set num=0
set str=31 %max% 31 30 31 30 31 31 30 31 30 31
for %%i in (%str%) do (
    set /a num+=1
    if %sm% equ !num! set days=%%i&goto :eof
)
goto :eof

以上是“批处理如何计算天数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 批处理如何计算天数

本文链接: https://lsjlt.com/news/258106.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 批处理如何计算天数
    小编给大家分享一下批处理如何计算天数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码一、:: DateDel2.bat - 删除指...
    99+
    2023-06-09
  • 批处理bat如何递归计算N!
    这篇文章主要介绍了批处理bat如何递归计算N!,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心代码:@echo offsetlocal enablede...
    99+
    2023-06-08
  • 批处理如何计算字符串的长度
    这篇文章主要为大家展示了“批处理如何计算字符串的长度”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理如何计算字符串的长度”这篇文章吧。代码如下:@echo off & setloca...
    99+
    2023-06-08
  • 计算机中批处理如何实现万年日历
    这篇文章主要介绍了计算机中批处理如何实现万年日历,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。核心源码:: 月历查询工具 最初发表于CN-DOS::&nb...
    99+
    2023-06-08
  • 如何使用批处理bat计算两个时间差
    本篇内容主要讲解“如何使用批处理bat计算两个时间差”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用批处理bat计算两个时间差”吧!这个是脚本代码[保存为etime.bat放在当前路径下即...
    99+
    2023-06-08
  • 如何使用批处理计算字符串的长度
    这篇文章给大家分享的是有关如何使用批处理计算字符串的长度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:@echo off & setlocal EnableDelayedExpansion ::...
    99+
    2023-06-08
  • 怎么用批处理bat计算上个月最后一天的日期
    本篇内容介绍了“怎么用批处理bat计算上个月最后一天的日期”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!【方案一】BAT + date.ex...
    99+
    2023-06-08
  • 怎么用批处理bat计算前N个月第一天的日期
    这篇文章主要介绍“怎么用批处理bat计算前N个月第一天的日期”,在日常操作中,相信很多人在怎么用批处理bat计算前N个月第一天的日期问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用批处理bat计算前N个月...
    99+
    2023-06-08
  • 计算机中如何实现批处理进度条效果
    这篇文章主要介绍了计算机中如何实现批处理进度条效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、批处理文件实现进度条的效果一@echo off mod...
    99+
    2023-06-08
  • 如何实现远程批量修改计算机IP设置的批处理
    这篇文章主要介绍了如何实现远程批量修改计算机IP设置的批处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。网络IP设置远处更改脚本。 当网络整改需要大量IP修改的时候,可利用...
    99+
    2023-06-08
  • 批处理如何实现倒计时
    这篇文章主要为大家展示了“批处理如何实现倒计时”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“批处理如何实现倒计时”这篇文章吧。代码如下:@echo off echo exit|%ComSpec%...
    99+
    2023-06-09
  • MySQL如何计算连续登录天数
    目录方法一 row_number()方法二lead() 或 lag()建表、insert数据 create table tmp_login ( user_id int(11) ,...
    99+
    2024-04-02
  • php如何给定年份计算天数
    今天小编给大家分享一下php如何给定年份计算天数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如何计算一年的天数计算一年的天...
    99+
    2023-07-05
  • php如何计算几天倒计时
    这篇文章主要为大家展示了“php如何计算几天倒计时”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何计算几天倒计时”这篇文章吧。php实现倒计时的方法:1、配置每天的活动时间段;2、计算出...
    99+
    2023-06-21
  • 计算机中如何使用批处理整理集合第1/3页
    这篇文章主要为大家展示了“计算机中如何使用批处理整理集合第1/3页”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“计算机中如何使用批处理整理集合第1/3页”这篇文章吧。先概述一下批处理是个什么东东...
    99+
    2023-06-09
  • oracle如何计算日期之间的天数
    在Oracle中,可以使用以下方法来计算日期之间的天数: SELECT TO_DATE('2022-01-01&#...
    99+
    2024-04-29
    oracle
  • php如何计算还剩几天
    这篇文章主要讲解了“php如何计算还剩几天”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何计算还剩几天”吧!计算方法:1、用“time()”语句获取当前时间戳;2、用“strtoti...
    99+
    2023-06-30
  • php如何计算相差几天
    本文将为大家详细介绍“php如何计算相差几天”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“php如何计算相差几天”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。php...
    99+
    2023-06-06
  • oracle如何计算两个日期相差天数
    在Oracle数据库中,可以使用DATEDIFF函数来计算两个日期之间的天数差异。例如,要计算日期列"date1"和"date2"之...
    99+
    2023-09-28
    oracle
  • 如何理解计算机信息处理
    这篇文章主要介绍“如何理解计算机信息处理”,在日常操作中,相信很多人在如何理解计算机信息处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解计算机信息处理”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作