比如在系统中date这个环境变量的值为
-- 星期六
年------%date:~,% 表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2011
月------%date:~,% 表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是07
日------%date:~8,2% 8 31
%date:~% 表示指针从左向右偏移5位,然后提取所有的值
时间-----%date:~-% 表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处提取左边的所有数值。
md F:\backup\%date:~,%%date:~,%%time:~,%%time:~,%
结果为:md F:\201107231855
echo.%date:~%    日期date
echo.%time:~% 时间time
echo. %date:~,% 年
echo.%date:~,% 月
echo.%date:~,% 日
echo.%time:~,% 小时
echo.%time:~,% 分
echo.%time:~,% 秒
echo.%time:~,% 里秒 pause

set /a 指定等号右边的字符串为被评估的数字表达式。

就是表示计算

@echo off
set/a xz=123+456
echo %xz%
pause>nul

可以输出123+456的结果

时间运算

@echo off
:: 判断一个脚本执行完毕所需要的时间
:: 先取开始时间,然后在即将结束的时候取结束时间
:: 两个时间都分别提取小时、分和秒数
:: 分别对小时数、分钟数和秒数进行操作
:: 还要对08和09这两个数进行操作
:: 注意:set /a num=的格式只能处理两位数中是否高位为0,如果是多位数
:: 要去高位的所有0的话,要用循环测试高位是否为0或者在高位添1然后
:: 再减去1000之类的数字的方法
:: code by JM --~ CMD@XP 感谢pengfei测试
set time_begin=%time:~,-%
echo 脚本开始运行时间是 %time_begin%
:: 小于10的小时数前有空格,要做去空格操作
for /f "tokens=1,2,3 delims=:" %%i in ("%time_begin%") do (
set /a hour_b=%%i
set /a munite_b=%%j
set /a second_b=%%k
)
pause
set time_end=%time:~,-%
for /f "tokens=1,2,3 delims=:" %%i in ("%time_end%") do (
set /a hour_e=%%i
set /a munite_e=%%j
set /a second_e=%%k
)
call :time_lapse
echo 脚本结束运行的时间是 %time_end%
echo 共花费了 %hour_% 小时 %munite_% 分 %second_% 秒
pause>nul
goto :eof
:time_lapse
:: 一定要按照 秒=>分钟=>小时 的顺序操作
if %second_e% lss %second_b% (
set /a munite_e=%munite_e%-
set /a second_e=%second_e%+
)
set /a second_=%second_e%-%second_b%
if %munite_e% lss %munite_b% (
set /a hour_e=%hour_e%-
set /a munite_e=%munite_e%+
)
set /a munite_=%munite_e%-%munite_b%
if %hour_e% lss %hour_b% (
set /a hour_e=%hour_e%+
)
set /a hour_=%hour_e%-%hour_b%
goto :eof
另外一种方法(Code by Pengfei):
@echo off
::::25.45
:: 运行程序的时间统计
set _time_start=%time%
set /a hour_start=%_time_start:~,%
set /a minute_start=%_time_start:~,%-
set /a second_start=%_time_start:~,%-
echo %time%
echo %hour_start%
echo %minute_start%
echo %second_start%
pause
:: 结束程序的时间统计
set _time_end=%time%
set /a hour_end=%_time_end:~,%
set /a minute_end=%_time_end:~,%-
set /a second_end=%_time_end:~,%-
echo %time%
echo %hour_end%
echo %minute_end%
echo %second_end%
pause
:: 计算秒数
if %second_end% lss %second_start% (
set /a second_end=%second_end%+
set /a minute_end=%minute_end%-
)
set /a second=%second_end%-%second_start%
:: 计算分钟数
if %minute_end% lss %minute_start% (
set /a minute_end=%minute_end%+
set /a hour_end=%hour_end%-
)
set /a minute=%minute_end%-%minute_start%
:: 计算小时数
if %hour_end% lss %hour_start% (
set /a hour_end=%hour_end%+
)
set /a hour=%hour_end%-%hour_start%
echo %hour%:%minute%:%second%
pause

窗口隐藏代码  前3行

if "%1"=="h" goto Begin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" h",)(window.close)&&exit
:Begin
ping 192.168.1.1 -t

bat 时间 的运算与提取的更多相关文章

  1. 使用Calender类获取系统时间和时间和运算

    使用Calender类获取系统时间和时间和运算: @Test public void testCal(){ //使用Calender对象获取时间,并对时间进行计算: Calendar instance ...

  2. PL/SQL 日期时间类型函数及运算

    内部存储格式: 世纪.年.月.日.小时.分钟.秒 默认格式是:DD-MON-RR. SYSDATE 返回当前的系统时间. SELECT SYSDATE FROM DUAL: 对日期的数学运算 SELE ...

  3. mysql日期时间函数2

    win7可以设定每周从哪一天开始,win2003等不能方便的修改.有的是周日开始,有的是周一开始.而工作中有的时候每周是从周六开始算的,有些数据需要按周统计,那么那种方式比较好呢?   通过下面的研究 ...

  4. R语言学习 第十一篇:日期和时间

    R语言的基础包中提供了三种基本类型用于处理日期和时间,Date用于处理日期,它不包括时间和时区信息:POSIXct/POSIXlt用于处理日期和时间,其中包括了日期.时间和时区信息.R内部在存储日期和 ...

  5. Python3-Cookbook总结 - 第三章:数字日期和时间

    第三章:数字日期和时间 在Python中执行整数和浮点数的数学运算时很简单的. 尽管如此,如果你需要执行分数.数组或者是日期和时间的运算的话,就得做更多的工作了. 本章集中讨论的就是这些主题. Con ...

  6. 2017-2018-1 20155306 《信息安全系统设计基础》嵌入式C语言———提取设置时分秒

    2017-2018-1 20155306 <信息安全系统设计基础>嵌入式C语言---提取设置时分秒 要求:根据下图,完成对时分秒的设置和提取. 示例及思路分析: 思路分析:以分钟为例,根据 ...

  7. java JDK8 学习笔记——第13章 时间与日期

    第十三章 时间与日期 13.1 认识时间与日期 13.1.1 时间的度量 1.格林威治标准时间GMT 格林威治标准时间的正午是太阳抵达天空最高点之时.现在已经不作为标准时间使用. 2.世界时UT世界时 ...

  8. paper 76:膨胀、腐蚀、开、闭运算——数字图像处理中的形态学

    膨胀.腐蚀.开.闭运算是数学形态学最基本的变换.本文主要针对二值图像的形态学膨胀:把二值图像各1像素连接成分的边界扩大一层(填充边缘或0像素内部的孔):腐蚀:把二值图像各1像素连接成分的边界点去掉从而 ...

  9. date命令--修改linux系统时间

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...

随机推荐

  1. maximize_window fullscreen_window minimize_window

    # Licensed to the Software Freedom Conservancy (SFC) under one# or more contributor license agreemen ...

  2. struts2 中 result type="stream"

    Stream result type是Struts2中比较有用的一个feature.特别是在动态生成图片和文档下载的情况下 1:图片验证码: Action类,action主要要提供一个获取InputS ...

  3. mysql--DML--视图,索引,事务,字符集,函数

    Mysql中,表/列可以改名,database不能改名. phpMyAdmin似乎有这功能? 他是建新库,把所有表复制到新库,再删旧库完成的. 删除一个数据库: drop database 数据库名; ...

  4. (续)linux SD卡初始化---mmc_sd_init_card函数

    mmc_sd_init_card剩下的关于UHS-I的分支结构. uhs-I的初始化流程图如图: 红线标出的部分是已经做了的事,与上一篇那个流程图是一致的,之后就是if分支中做的事. if分支中的函数 ...

  5. Golang1.8编译静态库给C使用

    Go实例代码: package main import ( "fmt" ) import "C" //export Printf func Printf(for ...

  6. Android控件之HorizontalScrollView 去掉滚动条

    在默认情况下,HorizontalScrollView控件里面的内容在滚动的情况下,会出现滚动条,为了去掉滚动条, 只需要在<HorizontalScrollView/>里面加一句 and ...

  7. WinPcap笔记2之获取已经安装设备的高级信息

    1 主要数据结构定义 struct pcap_if//网络接口列表的一个节点 一个网络接口就是一个结点 方便链表    {        struct pcap_if *next;//网络接口节点   ...

  8. bzoj 4385: [POI2015]Wilcze doły【单调栈】

    对于每个i,以它为左端点的最优右端点一定是单增的,所以用单调栈维护 具体的,单调栈里放的是和单调的长为d的子段,然后枚举右端点,如果这段的和-当前长为d子段最大的和大于p的话,左端点右移同时注意单调栈 ...

  9. Android属性动画ObjectAnimator的使用1

    版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/106 属性动画ObjectAnimator的使用 属性动画 ...

  10. Python之Linux下的virtualenv&&virtualenvwrapper

    virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境. #指定清华源下载pip的包 pip3 install -i https://pypi.tuna.tsinghua.edu.cn ...