JavaScript Date学习实例:获取3分钟前的时间“hhmmss”格式
上一篇博客分享了Date对象的理论知识,今天正好看到一段相关的代码,可以继续深化,通过实例加强复习Date

题目:获取3分钟前的时间,并且显示格式是hhmmss
以下是看到的代码
var time=new Date().getTime()-3*60*1000;
var d=new Date();
d.setTime(time);
var curHours = d.getHours()>=10?d.getHours():"0"+d.getHours();
var curMinutes = d.getMinutes()>=10?d.getMinutes():"0"+d.getMinutes();
var curSeconds = d.getSeconds()>=10?d.getSeconds():"0"+d.getSeconds();
分析:
1.Date类型本身就可以和整数进行计算,不需要使用getTime(),new Date()
2.Date函数可以直接传整数
下面分享两种比较高效的算法:
第一种思想:
var t = new Date()- 180000;
t = new Date(t);
t.getHours();
第二种思想:
var t = new Date()- 180000;
t = new Date(t);
var str = (t + '').slice(-26,-18).replace(':','');
那我们继续往下看,下面这样的写法有问题吗?:
var t = new Date() - 180000;
t = new Date(t);
var h= t.getHours();
var m=t.getMinutes();
var s=t.getSeconds();
alert(h.toString()+m.toString()+s.toString());
这样还是错误的,因为要显示的格式是hhmmss,这样方法得到的个位数,不能出现OX形式
第一种写法:
var t = '' + new Date(new Date() - 180000);
alert(t.slice(16,24).replace(/:/g,''))
也可以写成:
alert(('' + new Date(new Date() - 180000)).slice(16,24).replace(/:/g,''))
注意:slice(16,24)是返回第16位到第25位之间的字符串,正好是hhmmss.
例如:

很容易看到:时分秒是第16-25位。
第二种方法完整写法如下:
var t = new Date() - 180000;
t = new Date(t);
var h='00' + t.getHours();
var m='00' + t.getMinutes();
var s='00' +t.getSeconds();
alert(h.slice(-2)+mslice(-2)+s.slice(-2));
解释:用到"00"+t.getseconds(),是因为:比如 '00' + 5,得到005;比如“00”+15得到0015,而我们要显示的是最后两位,即05,或者15,所以是slice(-2)
JavaScript Date学习实例:获取3分钟前的时间“hhmmss”格式的更多相关文章
- java获取一天前的时间
获取一天前的时间 Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); ...
- 用javascript写一个显示时间差 几分钟前 几小时前 几天前 几周前 大于一个月显示日期
window.onload = function(){ var show_times = $(".times span"); for(var i=0;i<show_times ...
- javascript Date对象 之 获取时间
javascript Date对象 --> 获取时间: 测试代码: <!DOCTYPE html> <html lang="en"> <head ...
- JavaScript Date对象 日期获取函数
JavaScript Date对象使用小例子: 运行结果: 总结: 1.尽管我们认为12月是第12个月份,但是JavaScript从0开始计算月份,所以月份11表示12月: 2.nowDate.set ...
- JavaScript Date 学习心得
1.要创建一个日期对象,使用new 操作符和Date构造函数即可: var date=new Date() 在调用Date构造函数而不传递参数的情况下,新创建的对象可以自动获得当前日期和时间.必须传入 ...
- js 获取n天前的时间
<script type="text/javascript"> var strdate = new Date(); var begindate = strdate.ge ...
- js获取n分钟(或n小时或n个月)后(或前)的时间(日期)
标题有点绕,其实意思就是根据系统当前时间,获取n分钟或n小时或n个月后的时间. 例如:当前时间下,获取10分钟后的时间. var date=new Date(); //1. js获取当前时间 var ...
- js 获取据当前时间n天前的时间
<script type="text/javascript"> function getLastDate() { var date = new Date(); ; va ...
- 时间戳显示为多少分钟前,多少天前的JS处理,JS时间格式化,时间戳的转换
var dateDiff = function (timestamp) { // 补全为13位 var arrTimestamp = (timestamp + '').split(''); for ( ...
随机推荐
- jQuery实例代码-表单相关
select option 获取选中项的文本值 $("#ddl_GoOutReasonType option:selected").text() 根据索引定于option项 $(& ...
- 从底层了解ASP.NET体系结构
导读: 前言 关于ASP.NET的底层的工作机制,最近园子里讨论的甚是火热.相信很多人都看过Rick Strahl先生的一篇经典之作:A low-level Look at the ASP.NET ...
- ASP.NET网页之间传递参数与值
ASP.NET网页之间传递参数与值,方法很多,可以使用Application,Cookie,Session,或是Querystring等等.由于Insus.NET开发的程序中,多数是在后台之间进行参数 ...
- 图片展示js特效
html 代码片段,做一个table表格 <table width="798" height="276" border="0" ali ...
- 入门GitHub
Step 1: 创建一个我们自己的账号 我们先登录https://github.com,然后单击sign up for Github,我们输入用户名,密码和邮箱就可以有一个 属于我们自己的Github ...
- mysql5.7 Your password does not satisfy the current policy requirements问题解决
安装mysql5.7rpm包,在更改密码的时候,提示错误 这是由于Mysql5.7默认对于密码的要求强度较高,设置的密码过于简单不予通过.要解决这个问题,涉及到的参数有validate_passwor ...
- ASPxGridView 下拉框不让输入
DropDownStyle="DropDownList"该属性使combox控件不能手动输入数据,只能在下拉列表中选择
- 使用remove_constants工具查看Oracle是否使用绑定变量
https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:1163635055580 http://blog.csdn.n ...
- java读取 500M 以上文件,java读取大文件
java 读取txt,java读取大文件 设置缓存大小BUFFER_SIZE ,Config.tempdatafile是文件地址 来源博客http://yijianfengvip.blog.163.c ...
- CF1101A Minimum Integer 模拟
题意翻译 题意简述 给出qqq组询问,每组询问给出l,r,dl,r,dl,r,d,求一个最小的正整数xxx满足d∣x d | x\ d∣x 且x̸∈[l,r] x \not\in [l,r]x̸∈[l ...