两个日期之间的差值计算

近期在写关于计算时间之间的业务处理,当中的各种差值语法初六汇总

1.前端(以JQUERY为例)

语法:核心:采用时间戳的相减方式

//以当前时间减去制定日期计算相差的时间
var  currentTime=new Date();
function  calculateIntervalTime(currentTime,appointTime)
{//上篇文章已经介绍:getTime()---//--代表时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。var  currentT=new Date(currentTime).getTime();var  appointT=new Date(appointTime).getTime();//两个时间戳差值(精确到毫秒数)var  intervalTime=currentT-appointT;//1000 * 60 * 60 * 24--表示的是把差的毫秒数转换为天数//60 * 60 * 1000       --时//60 * 1000            --分//计算天,时,分(差值)var intervalDays=Math.Double(intervalTime/24*3600*1000);//计算时var intervalHour=Math.Double(intervalTime/3600*1000);//计算分var intervalMinutes=Math.Double(intervalTime/60*1000);//返回你想返回的数据(比如返回小时)var destinationDate=intervalHour;return destinationDate;}

2.后端

2.1 以java处理

核心代码

public String timeSubtract(String t1,String t2)
{SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//和上面的JS处理方式差不多long compareT1=simpleDateFormat.parse(t1).getTime();long compareT2=simpleDateFormat.parse(t2).getTime();long subtractResult=compareT1-compareT2;//计算天long intervalDays=subtractResult/1000*24*60*60;//计算时long  intervalMin=subtractResult/1000*60*60;//计算分long  intervalMin=subtractResult/1000*60;}

设置时区

formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));

最近看到的一篇关于JAVA的处理时间差:写的挺全的

原理其实很简单,就是根据两个日期相差的天数,小时数,分钟数,秒数计算之后转换成HH:mm格式,废话不多说,直接上代码public static String timeSubtraction(String time1, String time2) throws ParseException {/***@description time2 是大的时间*@param [time1, time2]*@return java.lang.String*/SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制long newTime1 = simpleDateFormat.parse(time2).getTime();long newTime2 = simpleDateFormat.parse(time1).getTime();Long result = newTime1 - newTime2; //获取两时间相差的毫秒数long nd = 1000 * 24 * 60 * 60;long nh = 1000 * 60 * 60;long nm = 1000 * 60;long hour = result % nd / nh; //获取相差的小时数long min = result % nd % nh / nm; //获取相差的分钟数long day = result / nd;SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");//初始化Formatter的转换格式。long hMiles = hour * 3600000; //小时数转换成毫秒long mMiles = min * 60000; //分钟数转换成毫秒long resulMiles = (hMiles + mMiles);//下面这段很重要 ,计算之后设置时区,不然会差几小时formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));String resultFormat = formatter.format(resulMiles);//我这段是在一天内计算的 如果大于一天 就把下面的 day*24加到小时上就可以了return resultFormat + "," + day;}
版权声明:本文为CSDN博主「阿里巴巴达摩院」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_32009809/article/details/114111375

2.2以C#的处理

核心代码(计算差值天数)

//当前时间 DateTime currentTime = DateTime.Now;
//要比较的时间
//compareTime为你传入的要比较的日期时间(防止传入的字符串格式)
//例如:2021年12月23日15:30:21DateTime compareTime = Convert.ToDateTime(compareTime);
//TimeSpan:表示的是一个时间间隔
//计算差值TimeSpan intervalHuors = currentTime.Subtract(scanTime);
//转化为差值对应的小时数double intervalHToDouble = intervalHuors.TotalHours;

说明 TimeSpan的函数的用法:

TimeSpan(Int64)将 TimeSpan结构的新实例初始化为指定的刻度数。(DateTime.Tick:是计算机的一个计时周期,单位是一百纳秒,即一千万分之一秒)TimeSpan(Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的小时数、分钟数和秒数。TimeSpan(Int32, Int32, Int32, Int32)将 TimeSpan结构的新实例初始化为指定的天数、小时数、分钟数和秒数。TimeSpan(Int32,Int32, Int32, Int32, Int32)将新的 TimeSpan结构初始化为指定的天数、小时数、分钟数、秒数和毫秒数。
//这个以自己的查询数据库获去时间军饷判断记录下(自己学习使用)
public Boolean searchTimeMlotId(string mlotid){if (!mlotid.Equals(null)){try{string str = System.Configuration.ConfigurationManager.AppSettings["sqlConnectionString"];SqlConnection conn = new SqlConnection(str);//数据库入库开始DataSet Dstype = new DataSet();string Sqltype = "select  top 1   scan_time,scan_result   from scanlog where MLOTID='" + mlotid + "' order by scan_time";/*SqlDataAdapter Datype = new SqlDataAdapter(Sqltype, conn);Datype.Fill(Dstype);DataTable table = new DataTable();table = Dstype.Tables[0];*/using (SqlCommand cmd=new SqlCommand(Sqltype,conn)){if (conn.State==ConnectionState.Closed)//判断是否处于关闭状态{conn.Open();//打开数据库连接}SqlDataReader read = cmd.ExecuteReader();//用cmd点上ExecuteReader()方法,方法类型属于SQLDataReaderint i = 1;if (read.Read()==true){//string scan_time = read["scan_time"].ToString();string scan_result = read["scan_result"].ToString();if (scan_result.Contains("异常")){return true;}DateTime currentTime = DateTime.Now;DateTime scanTime = Convert.ToDateTime(scan_time);TimeSpan intervalHuors = currentTime.Subtract(scanTime);double intervalHToDouble = intervalHuors.TotalHours;string script = "<script>alert('" + mlotid + "此码12小时内扫过,请更换扫码!," + "')</script>";ClientScript.RegisterStartupScript(GetType(), "", script);/* int aa=new DateTime().GetHashCode();*/return intervalHToDouble < 12.0?true:false;}else{string script = "<script>alert('" + mlotid + "近期已经通过扫码验证,请更换其他资材LOTID" + "')</script>";ClientScript.RegisterStartupScript(GetType(), "", script);return false;}}return false;}catch (Exception){throw;}}else{return false;}}

完结撒花


两个日期之间的差值计算相关推荐

  1. 怎么计算两个日期之间的差值

    写程序时会遇到比较两个日期之间的差值,差了多少天,或者其他什么,于是自己写了一个方法,供大家参考,也作为自己的备份吧. 日期之间的差值:差了多少天function DateDiff(sDate1, s ...

  2. 两个日期月数差值计算

    1. 场景 在金融类项目中,经常会涉及到利息计算,这里讨论一下按月计息的情况下,月数如何计算 2. 需求分析 前提条件,计算日期差值的时候,留头去尾,举例01.01-01.02差值为1天 月数其实算起 ...

  3. oracle中计算两个日期之间的差值

    2016年10月29日 阅读数:10503 最近几天在工作中用到了一项计算时间的功能,计算两个时间之间的天数差,顺道总结一下oracle中的语句:两个Date类型字段:START_DATE,END_D ...

  4. python怎么输入两个数然后求差值_python两个日期之间天差值获取

    因为我也刚刚接触python,这个原则上也是百度找到的,原来那位我也找不到了...... 主要就是使用datetime进行转化然后进行相减,获得如[diff_days] : 00:00:00形式的结果 ...

  5. iOS 计算两个日期之间的差值

    NSDateFormatter *dateFomatter = [[NSDateFormatter alloc] init];dateFomatter.dateFormat = @"yyyy ...

  6. mysql timestamp 差值_MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法(两个日期之间的差值)...

    MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法 在应用时,经常要使用这两个函数TIMESTAMPDIFF和TIMESTAMPADD. 一,TIMESTAMPDIFF 语法: ...

  7. Mysql-计算两个时间之间的差值

    计算两个时间之间的差值 1.datediff()计算date差值 2.timediff()计算时分秒差值 3.timestampdiff()计算指定维度的时间差值 1.datediff()计算date ...

  8. java计算两个日期之间的天数(java计算两个日期之间的天数算法)

    两个日期之间的天数要怎么计算? 两个日期之间的天数的计算=日期相减+1.比如:六月一号到六月三号,这之间是3天,分别是:一号.二号.三号,算式:3-1+1=3(天).同理,2001年到2002年是2年 ...

  9. java 两个日期之间相差的天数计算

    项目开发过程中经常遇到这类需求,计算两个日期之间的差,今天我系统总结一下这个技术点: 1.两个日期之间相差的天数,日期为单位(比如相差两秒,可能就相差一天,1.12:23:59:59和13:01:00 ...

最新文章

  1. 关于ngOptions的键值对
  2. Zabbix的故障与恢复邮件设置
  3. ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
  4. 什么是Hyperledger?Linux如何围绕英特尔的区块链项目构建开放平台?
  5. linux禁止客户端上传文件_Linux 几种上传文件到linux服务的方法
  6. 什么软件测试显示器响应时间准,自己动手测试液晶显示器响应时间
  7. java变量命名规则_变量的概念和声明
  8. vue实现留言板的功能_基于vue和bootstrap实现简单留言板功能
  9. 两个摄像头合成一路_小米手机成功开发出伸缩式摄像头,秒变单反,这次雷军又火了...
  10. 气候变化与 计算机网络,北京理工大学:气候变化综合评估模式研究获立项
  11. 编译Android源码致命错误解决方案
  12. 使用补丁修改DSDT/SSDT [DSDT/SSDT综合教程]
  13. 递归实现费氏数列:0,1,1,2,3,5,8,13,21,34,55,89,... ...
  14. 数据守护集群之MPP主备集群
  15. 【区间选点问题】 N个闭区间,最少需要多少个点,让每个闭区间都有一个点
  16. 阿里云域名配置和https证书(ssl证书)配置内容
  17. macOS conda 安装指定版本的 Pytorch
  18. C语言小游戏--贪食蛇
  19. 如何将图片格式转换为ico格式
  20. Java之HashTab基本用法

热门文章

  1. matlab 多目标非线性,第二章—Matlab解决悬置多目标解耦的非线性优化问题
  2. 【JS】原始值与引用值、执行上下文与作用域链、作用域链增强、变量声明、标识符查找
  3. python立flag什么意思_立flag是什么意思
  4. JAVA基础(持续更新中)
  5. 爱迪生的复仇:直流电的崛起
  6. 构筑智慧城市坚实“身躯”
  7. Docker搭建Elasticsearch方法及启动后服务自动关闭的问题
  8. Spring 的 AOP 部分
  9. 从“十一五”到“十四五”国家四大区域经济板块发展战略
  10. 计算机软件系统三类,计算机的应用软件分为哪三类