上一篇博客分享了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”格式的更多相关文章

  1. java获取一天前的时间

    获取一天前的时间 Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); ...

  2. 用javascript写一个显示时间差 几分钟前 几小时前 几天前 几周前 大于一个月显示日期

    window.onload = function(){ var show_times = $(".times span"); for(var i=0;i<show_times ...

  3. javascript Date对象 之 获取时间

    javascript Date对象 --> 获取时间: 测试代码: <!DOCTYPE html> <html lang="en"> <head ...

  4. JavaScript Date对象 日期获取函数

    JavaScript Date对象使用小例子: 运行结果: 总结: 1.尽管我们认为12月是第12个月份,但是JavaScript从0开始计算月份,所以月份11表示12月: 2.nowDate.set ...

  5. JavaScript Date 学习心得

    1.要创建一个日期对象,使用new 操作符和Date构造函数即可: var date=new Date() 在调用Date构造函数而不传递参数的情况下,新创建的对象可以自动获得当前日期和时间.必须传入 ...

  6. js 获取n天前的时间

    <script type="text/javascript"> var strdate = new Date(); var begindate = strdate.ge ...

  7. js获取n分钟(或n小时或n个月)后(或前)的时间(日期)

    标题有点绕,其实意思就是根据系统当前时间,获取n分钟或n小时或n个月后的时间. 例如:当前时间下,获取10分钟后的时间. var date=new Date(); //1. js获取当前时间 var ...

  8. js 获取据当前时间n天前的时间

    <script type="text/javascript"> function getLastDate() { var date = new Date(); ; va ...

  9. 时间戳显示为多少分钟前,多少天前的JS处理,JS时间格式化,时间戳的转换

    var dateDiff = function (timestamp) { // 补全为13位 var arrTimestamp = (timestamp + '').split(''); for ( ...

随机推荐

  1. 重建freescale 4.6.2 multilib toolchain

    patch和crosstool-ng 可以从下面的网址下载, https://community.freescale.com/thread/386450 不过估计你会失望的,改了脚本,编译了后发现不对 ...

  2. 别了,DjVu!

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2010.05.21 目录一.DjVu技术二.掌握DjVu技术的人三.玩DjVu的人四.小结跋:我与DjVu 谨以此文纪念与D ...

  3. boostrap 进入条显示百分比

    <div class="progress"> <div class="progress-bar progress-bar-success"  ...

  4. Android emulator中C代码的调试——gdb/gdbservers时遇到的坑

    版权声明:本文为博主原创文章,未经博主允许不得转载. 先写个helloworld吧,在Android源码树中创建文件夹external/helloworld,加入文件: // helloworld.c ...

  5. Java框架之spring 项目 附加之noteresult(status msg data uuid MD5)

    1.1创建类    实体类 NoteResult<T>  注意<T> private int status; private String msg; private T dat ...

  6. CocosPods 每次install pod 都卡在analyzing

    最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动 原因在于当执行以上两个命令的时候会升级Co ...

  7. springcloud系列五 feign远程调用服务

    一:Feign简介 Feign 是一种声明式.模板化的 HTTP 客户端,在 Spring Cloud 中使用 Feign,可以做到使用 HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完 ...

  8. POJ1054 The Troublesome Frog

    题目来源:http://poj.org/problem?id=1054 题目大意: 有一种青蛙在晚上经过一片稻田,在庄稼上跳跃,会把庄稼压弯.这让农民很苦恼.我们希望通过分析青蛙跳跃的路径,找出对稻田 ...

  9. css3文本域焦点烟花效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map

    题目传送门 题目大意: 给出一张n*n的图,机器人在一秒钟内任一格子上都可以有五种操作,上下左右或者停顿,(不能出边界,不能碰到障碍物).题目给出k个障碍物,但保证没有障碍物的地方是强联通的,问经过无 ...