分享javascript计算时间差的示例代码

在实际应用中,需要计算两个时间点之间的差距,一般来说都是计算当前时间和一个指定时间点之间的差距,并且有时候需要精确到天、小时、分钟和秒,下面就简单介绍一下如何实现此效果。

效果图:

距离新年:

代码如下:

<html>
<head>
<title>javascript计算时间差</title>
<style type="text/css">
#thenceThen
{
 font-size:2em;
}
</style>
<script type="text/javascript">
function thenceThen()
{
 var theTime="2014/5/4"
 var endTime=new Date(theTime);
 var totalSecs=(endTime-new Date())/1000;
 var days=Math.floor(totalSecs/3600/24);
 var hours=Math.floor((totalSecs-days*24*3600)/3600);
 var mins=Math.floor((totalSecs-days*24*3600-hours*3600)/60);
 var secs=Math.floor((totalSecs-days*24*3600-hours*3600-mins*60));
 if(days!=0)
 {
 document.getElementById("thenceThen").innerHTML=days+"天"+hours+"小时"+mins+"分钟"+secs+"秒";
 }
 else if(hours==0&&mins==0)
 {
 document.getElementById("thenceThen").innerHTML=secs+"秒";
 }
 else if(hours==0&&mins!= 0)
 {
 document.getElementById("thenceThen").innerHTML=mins+"分钟"+secs+"秒";
 }
 else if (hours!=0)
 {
 document.getElementById("thenceThen").innerHTML=hours+"小时"+mins+"分钟"+secs+"秒";
 }
}
var clock;
window.onload=function()
{
 clock=setInterval("thenceThen()",500);
}
</script>
</head>
<body>
<div id="thenceThen"></div>
</body>
</html>

以上代码实现了我们想要的功能,下面简单介绍一下此效果的实现过程。
一.实现原理:
原理非常的简单,就是计算连个时间点之间的毫秒差距,然后经过数学运算得出相应的天、小时、分钟和描述,通过setInterval()函数每秒调用一次函数,那么就是先了倒计效果。
二.代码注释:
1.function thenceThen(){},此函数用来计算时间差距。
2.var theTime="2014/5/4",此变量用来定义要计算时间差的一个时间点。
3.var endTime=new Date(theTime),创建当前时间对象。
4.var totalSecs=(endTime-new Date())/1000,两个时间对象的差是两者之间的毫秒差距,再除以1000就是相差的描述。
5.var days=Math.floor(totalSecs/3600/24),计算相差的天数,特别注意Math.floor()函数的作用,可以参看相关阅读。
6.var hours=Math.floor((totalSecs-days*24*3600)/3600),计算相差的小时数。

以上就是javascript计算时间差的示例代码,希望对大家的学习有所帮助。

(0)

相关推荐

  • Javascript计算时间差的函数分享

    复制代码 代码如下: /* * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒 * 其中,年月日为全格式,例如 : 2010-10-12 01:00:00 * 返回精度为:秒,分,小时,天 */ function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 startTime = startTime.replace(/\-/g, "/&quo

  • oralce 计算时间差的实现

    oralce 计算时间差的实现 查询系统时间和给定时间相差的毫秒数 select ceil((sysdate - To_date('2017-03-23 00:00:00' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL; 将account表中第一条数据的dcur_state_start_date(timestamp类型)字段值的相差豪秒数算出来 select ceil((sysdate -TO_DATE( T

  • C# 计算传入的时间距离今天的时间差

    废话不多说了,直接给大家贴代码了,具体代码如下所示: /// <summary> /// 计算传入的时间距离今天的时间差 /// </summary> /// <param name="dt"></param> /// <param name="yy"></param> /// <param name="mm"></param> /// <par

  • 自己写的Javascript计算时间差函数

    自己写了一下,适用而已,不太好,应该还能优化.先自己记录一下.不说废话了,直接贴代码最好: 复制代码 代码如下: /* * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒 * 其中,年月日为全格式,例如 : 2010-10-12 01:00:00 * 返回精度为:秒,分,小时,天 */ function GetDateDiff(startTime, endTime, diffType){    //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/x

  • javascript时间差插件分享

    javascript时间差插件分享,供大家参考,具体内容如下 Html如下: <html> <head> <title></title> <script src="js/TimeDifference.js" type="text/javascript"></script> <script src="js/jquery-1.10.2-min.js" type="

  • Oracle计算时间差为毫秒的实现代码

    Oracle 中我们知道用 TO_DATE 函数可以进行秒.分.时.天.月.年.周等时间差的计算,但是毫秒却不好计算,TO_DATE 函数只能精确到秒,毫秒则只能用 TO_TIMESTAMP 函数,但是这个函数不像 TO_DATE 这样直接减出来的差值就是 NUMBER 类型,如果用 TO_NUMBER 函数转换也会报错. 这里我是用分隔字符串单独计算毫秒部分,如果有更好的办法,请大家分享一下,下面是查询时间差为毫秒的模板(字段1 – 字段2): SELECT ( ( (TO_TIMESTAMP

  • 分享javascript计算时间差的示例代码

    在实际应用中,需要计算两个时间点之间的差距,一般来说都是计算当前时间和一个指定时间点之间的差距,并且有时候需要精确到天.小时.分钟和秒,下面就简单介绍一下如何实现此效果. 效果图: 距离新年: 代码如下: <html> <head> <title>javascript计算时间差</title> <style type="text/css"> #thenceThen { font-size:2em; } </style&g

  • Python实现计算信息熵的示例代码

    目录 一:数据集准备 二:信息熵计算 三:完整源码分享 四:方法补充 一:数据集准备 如博主使用的是: 多层感知机(MLP)实现考勤预测二分类任务(sklearn)对应数据集 导入至工程下 二:信息熵计算 1 导包 from math import log import pandas as pd 2 读取数据集 dataSet = pd.read_csv('dataSet.csv', header=None).values.tolist() 3 数据统计 numEntries = len(dat

  • 利用 JavaScript 实现并发控制的示例代码

    一.前言   在开发过程中,有时会遇到需要控制任务并发执行数量的需求.   例如一个爬虫程序,可以通过限制其并发任务数量来降低请求频率,从而避免由于请求过于频繁被封禁问题的发生.   接下来,本文介绍如何实现一个并发控制器. 二.示例 const task = timeout => new Promise((resolve) => setTimeout(() => { resolve(timeout); }, timeout)) const taskList = [1000, 3000,

  • Python实现计算AUC的示例代码

    目录 为什么这样一个指标可以衡量分类效果 auc理解 AUC计算 方法一 方法二 实现及验证 AUC(Area under curve)是机器学习常用的二分类评测手段,直接含义是ROC曲线下的面积,如下图: 要理解这张图的含义,得先理解下面这个表: 表中列代表预测分类,行代表实际分类: 实际1,预测1:真正类(tp) 实际1,预测0:假负类(fn) 实际0,预测1:假正类(fp) 实际0,预测0:真负类(tn) 真实负样本总数=n=fp+tn 真实正样本总数=p=tp+fn 在第一张图中, 横坐

  • JavaScript一元正号运算符示例代码

    本文适合JavaScript初学者. 一元正号介绍 一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值. 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作. 转换字符串 一元正号可以用于转换数值字符串为数字,比如如下代码: + "123" // 123 + "12.3" // 12.3 也可以转换二进制.16进制数值.自然底数的字符串

  • 利用javascript打开模态对话框(示例代码)

    1. 标准的方法 复制代码 代码如下: <script type="text/javascript">   function openWin(src, width, height, showScroll){   window.showModalDialog (src,"","location:No;status:No;help:No;dialogWidth:"+width+";dialogHeight:"+heig

  • 在JavaScript中构建ArrayList示例代码

    前面我们介绍了JavaScript Array 的API,在JavaScript 中 数组 本身就非常强大,可以存储任意类型,且长度自动扩容,又提供 遍历, 过滤,等多个操作数组的方法. 简直完爆Java的的数组(长度固定,单一类型).而Java中的集合类 就是弥补数组不足,其底层大多使用Object [] 存储,只是提供动态扩容的策略,当然JDK的 API 之丰富,是其他语言难以匹敌的. 但是不妨碍我对Java.JavaScript的喜爱. Java就像 一个中年老妇女,你总能在JDK中 看到

  • JavaScript–Apple设备检测示例代码

    这里提供一些javascript检测代码,用于检测iPhone.iPod.iPad设备. 复制代码 代码如下: // Apple detection objectvar Apple = {};Apple.UA = navigator.userAgent;Apple.Device = false;Apple.Types = ["iPhone", "iPod", "iPad"]; for (var d = 0; d < Apple.Types.

随机推荐