实现内容:

1、时间戳 1587024986952 转成年月日时分秒 2020-04-16 16:16:46

2、当前时间new Date()转成年月日时分秒2019-04-17 10:27:27

3、2020-5-16 17:00:00与当前时间new Date()比较时间差

4、2020-5-16 17:00:00 与 2020-04-16 16:21:53 的时间差

效果:

代码1:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>1、JS结束时间与当前时间间隔</title>
</head>
<body>
<div class='divClass' id='timeCont'>
<p>当前时间 <span id='nowTime'></span></p>
<p>结束时间 <span id='end'></span></p>
<p style='background:#f00;width: 300px;line-height: 2rem;'>相差时间 <span id='interval'></span></p>
</div>
<script>
//1、当前时间new Date()转成年月日时分秒2019-04-17 10:27:27 function time(now){
var yy = now.getFullYear(); //年
var mm = now.getMonth() + 1; //月
var dd = now.getDate(); //日
var hh = now.getHours(); //时
var ii = now.getMinutes(); //分
var ss = now.getSeconds(); //秒
var time = yy + "-";
if (mm < 10) time += "0";
time += mm + "-";
if (dd < 10) time += "0";
time += dd + " ";
if (hh < 10) time += "0";
time += hh + ":";
if (ii < 10) time += '0';
time += ii + ":";
if (ss < 10) time += '0';
time += ss;
return time;
}
setInterval(function(){
var nowTime = time(new Date())
var end_time = '2020-5-16 17:00:00';
document.querySelector('#nowTime').innerHTML = nowTime;
document.querySelector('#end').innerHTML = end_time;
document.querySelector('#interval').innerHTML = timeDown(end_time);
},1000) // 2、结束时间2020-5-16 17:00:00与当前时间new Date()比较时间差
function timeDown(endDateStr) {
//结束时间
var endDate = new Date(endDateStr);
//当前时间
var nowDate = new Date();
//相差的总秒数
var totalSeconds = parseInt((endDate - nowDate) / 1000);
//天数
var days = Math.floor(totalSeconds / (60 * 60 * 24));
//取模(余数)
var modulo = totalSeconds % (60 * 60 * 24);
//小时数
var hours = Math.floor(modulo / (60 * 60));
modulo = modulo % (60 * 60);
//分钟
var minutes = Math.floor(modulo / 60);
//秒
var seconds = modulo % 60;
//输出到页面
this.timeCon=days + " 天 " + hours + " 小时 " + minutes + " 分 " + seconds + " 秒";
return this.timeCon;
} </script>
</body>
</html>

代码二:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>2、JS结束时间与当前时间间隔</title>
</head>
<body>
<div class='divClass' id='timeCont'>
<p>当前时间 <span id='nowTime'></span></p>
<p>结束时间 <span id='end'></span></p>
<p style='background:#f00;width: 300px;line-height: 2rem;'>相差时间 <span id='interval'></span></p>
</div>
<script>
//1、时间戳 1587024986952 转成年月日时分秒 2020-04-16 16:16:46
function timestampToTime(timestamp) {
var date = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
strDate = Y+M+D+h+m+s;
return strDate;
};
// 2020-5-16 17:00:00 与 2020-04-16 16:21:53 的时间差
function timeInterval(endTime,startTime){
var time1=startTime.replace(new RegExp(/-/gm) ,"/");
var time2=endTime.replace(new RegExp(/-/gm) ,"/");
var stime=new Date(time1).getTime();
var etime = new Date(time2).getTime();
var usedTime = etime - stime;
var days=Math.floor(usedTime/(24*3600*1000));
var leave1=usedTime%(24*3600*1000);
var hours=Math.floor(leave1/(3600*1000))+'';
hours= hours.length==1 ? '0'+hours:hours;
var leave2=leave1%(3600*1000);
var minutes=Math.floor(leave2/(60*1000))+'';
minutes= minutes.length==1 ? '0'+minutes:minutes;
var leave3=leave2%(60*1000);
var seconds=(Math.round(leave3/1000))+'';
seconds= seconds.length==1 ? '0'+seconds:seconds;
var time = days + "天"+hours+"时"+minutes+"分"+seconds+'秒';
return time;
}
setInterval(function(){
var end_time = '2020-5-16 17:00:00';
var nowTime=self.timestampToTime( new Date().getTime()); //2020-04-16 16:21:53
document.querySelector('#nowTime').innerHTML = nowTime;
document.querySelector('#end').innerHTML = end_time;
document.querySelector('#interval').innerHTML = self.timeInterval(end_time,nowTime);
},1000) </script>
</body>
</html>

JS结束时间与当前时间间隔的更多相关文章

  1. easyui 时间段校验,开始时间小于结束时间,并且时间间隔不能超过30天

    //对easyui datetimebox的验证,开始时间要小于结束时间function validateDateTime(beginTimeId,endTimeId,whichTimeId){ co ...

  2. JS时间戳比较大小:对于一组时间戳(开始时间~结束时间)和另一组时间戳进行比较,用于判断被比较时间戳组是否在要求范围内

    /* *JS时间戳比较大小:对于一组时间戳(开始时间~结束时间)和另一组时间戳进行比较,用于判断被比较时间戳组是否在要求范围内 *@param date1 date2(形如:'2015-01-01'类 ...

  3. 关于WdatePicker.js的结束时间大于开始时间

    简单笔记 : WdatePicker.js 要使结束时间大于开始时间只要在线束时间的 minDate:'#F{$dp.$D(\'stimeParam\')}' 即可:不多说 详细代码如下: <t ...

  4. js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)

    js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...

  5. JS获取开始、结束时间

    /** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今天 ...

  6. js获取本周、上周的开始结束时间

    这两天在做一个报表体统,其中涉及到了一个根据本周,上周,本月,上月的时间来进行查询的问题,在这个我就教一下大家怎么实现,大家如果有更好的实现方法的,我也希望大家能说出来,我们交流交流. 首先呢,我写了 ...

  7. js 開始时间,当前时间,结束时间的比較

    //開始时间不能小于当前时间 function startTimeIsBigThanTotay(startTime){ var startdate = new Date((startTime).rep ...

  8. JS判断开始时间不能大于检查结束时间

    //用来检验检查开始时间不能大于检查结束时间 function checkDate(date){ var startDate = $("#jcrwModel_rwfqsj").va ...

  9. My97DatePicker:开始时间和结束时间的最大间隔为1个月30天,并且不大于当前时间(3种方法)

    问题的背景 在之前做Web项目的时候,开始时间和结束时间,只有2个要求: 1.开始时间必须小于等于结束时间,不能超过当前时间. 2.结束时间必须大于等于开始时间,不能超过当前时间. 由于开始时间不大于 ...

  10. sharepoint2010问卷调查(3)-实现问卷的开始和结束时间(采用自定义字段类型)

    接着上面的图片调查,sharepoint自带的问卷调查是没有开始和结束时间的.这个在项目过程不太实用.问卷一般有开始和结束时间的.因此需要自己 动手开发一个自定义字段类型字段.如下图: 开发添加栏目会 ...

随机推荐

  1. Spring Cloud GateWay基于nacos如何去做灰度发布

    如果想直接查看修改部分请跳转 动手-点击跳转 本文基于 ReactiveLoadBalancerClientFilter使用RoundRobinLoadBalancer 灰度发布 灰度发布,又称为金丝 ...

  2. vue项目中配置scss

    之前创建 vue 项目的时候没有选择 scss 预编译,现在项目中要使用,不知道如何配置,网上搜了下全都是: npm  install sass-loader --save-devnpm instal ...

  3. Python requests 上传文件(以上传图片为例)

    from requests_toolbelt import MultipartEncoderimport requests encoderl = MultipartEncoder( fields = ...

  4. Ubuntu 22.04 搭建K8s集群

    目录 1. 虚拟机基础配置 配置静态ip 设置主机名 设置hosts 安装ssh 2. Ubuntu系统设置 禁用swap 修改内核参数 3. 安装containerd 4. 安装Kubernetes ...

  5. 自定义RBAC(5)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 把实体类及Service类都准备好了之后,就可以开始继续写业务代码了.Spring Security的强大之一就在于它的拦截器.那么这里也可以参 ...

  6. vue-router路由之路-极简教程

    01.什么是前端路由? 前端路由的一个大背景就是当下流行的单页应用SPA,一些主流的前端框架,如vue.react.angular都属于SPA,那什么是SPA呢? 1.1.SPA SPA(single ...

  7. 搭建漏洞环境及实战——搭建DVWA漏洞环境

    DVWA是一款开源的渗透测试漏洞练习平台,其中内涵XSS.SQL注入.文件上传.文件包含.CSRF和暴力破解等各个难度的测试环境. 1.在安装时需要在数据库里创建一个数据库名,进入MySQL管理中的p ...

  8. vulnhub靶场之GROTESQUE: 3.0.1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Grotesque: 3.0.1,下载地址:https://download.vulnhub.com/grotesque/grotesque3. ...

  9. UOJ33 [UR#2] 树上 GCD

    UOJ33 [UR#2] 树上 GCD 简要题意: 给定一棵有根树,对于每个 \(i \in [1,n)\),求出下式的值: \[Ans[i] = \sum_{u<v} \gcd({\rm{di ...

  10. SPOJLCMSUM - LCM Sum

    简要题意 \(T\) 组数据,每组数据给出一个 \(n\),计算: \[\sum_{i=1}^{n}{\operatorname{lcm}(i,n)} \] \(1 \leq T \leq 3\tim ...