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 ( ...
随机推荐
- Vue国际化的使用
首先是是在main.js文件中把国际化引入进来 import Vue from 'vue' import App from './App' import router from './router' ...
- sql去掉换行符
select replace(replace(ServiceCall,CHAR(13),''),CHAR(10),'') from outbound_complaint where bz1='朱成 ...
- 乱谈zip、rar文件格式
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.11.21最近更新:2006.11.25 目录一.目录表(TOC)与分卷(Volume)二.固实(solid)压缩方 ...
- 使用canvas压缩图片 并上传
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- iOS开发时间处理工具
1.获取当前的时间 /** 获取当前的时间 */ +(NSString*)getCurrentTimes{ NSDateFormatter *formatter = [[NSDateFormatter ...
- 第一次接触C++------感触
2018/09/24 上大学第一次接触C++,感觉还挺有趣的. C语言是计算机的一门语言,顾名思义,语言嘛,有它自己独特的语法. 第一次用C++敲代码,觉得还挺不错的,可以从中找到乐趣.咏梅老师布置的 ...
- poj2417(Baby-Step Giant-Step)
题目链接:http://poj.org/problem?id=2417 题意:求满足给出 P, N, B, 求满足条件 BL == N (mod P) 的最小 L, 若不存在则输出 no soluti ...
- anularjs前端分页
var dataList = []; $scope.page = { page:1, pageSize:15, numPerPageOpt:[15,30,50,100], totalNum:0, to ...
- php版 日文半角转全角
工作需要,写的这个 /* *转载请注明 http://www.cnblogs.com/kclteam/p/5278923.html$str //参数可以是字符串或数组*/ function HkToF ...
- SprimgMVC学习笔记(六)—— 全局异常的处理
一.处理思路 springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑. 系统中异常包括两类:预期异常和运行时异常RuntimeExcept ...