zoukankan      html  css  js  c++  java
  • 时间对象(js)

    1,获取时间

    var d = new Date(); // 创建时间对象(没有参数),是当前电脑此时此刻的时间
    console.log(d); // 它是一个对象,{},它里面有很多的属性和方法
    
    var year = d.getFullYear(); //
    var month = d.getMonth() + 1; // 月,返回的是0--11,代表1--12月
    var day = d.getDate(); //
    
    var week = d.getDay(); // 星期,返回0--6,代表周日--周六
    
    var h = d.getHours(); // 小时
    var m = d.getMinutes(); // 分钟
    var s = d.getSeconds(); //
    
    console.log(year, month, day, week, h, m, s);

    案例:数字时钟

    2、时间戳

    时间戳:1970 年 1 月 1 日午夜(零时)开始到现在经过的毫秒数

    // 方式一:全兼容
    var d = new Date(); // 时间对象
    var n = d.getTime();
    console.log(n); // 1599619049126
    
    // 方式二:IE8及以下不支持
    console.log(Date.now()); // 1599619157818

    3、多种时间格式

    var d = new Date();
    // 英文
    console.log(d.toString()); // Wed Sep 09 2020 10:40:57 GMT+0800 (中国标准时间)
    console.log(d.toTimeString()); // 10:42:02 GMT+0800 (中国标准时间)
    console.log(d.toDateString()); // Wed Sep 09 2020
    
    // 中文
    console.log(d.toLocaleString()); // 2020/9/9 上午10:41:20
    console.log(d.toLocaleTimeString()); // 上午10:42:43
    console.log(d.toLocaleDateString()); // 2020/9/9

    4、创建特定时间

    var d = new Date(); // 没有传参,创建的是电脑此时此刻的时间
    console.log(d.toLocaleString());
    
    // 传入数字,代表:年 月 日 时 分 秒(月要减1)
    var d2 = new Date(2022, 10, 11, 12, 12, 12);
    console.log(d2.toLocaleString());
    
    // 传入字符串
    var d3 = new Date('2020,12,12 12:12:12');
    console.log(d3.toLocaleString());
    
    // 传入时间戳
    var d4 = new Date(-12212121256501);
    console.log(d4.toLocaleString());
    
    // 设置时间对象的特定部分
    var d5 = new Date();
    d5.setFullYear(2030); // 设置年
    d5.setMonth(15); // 设置月 (容错的能力)
    d5.setDate(38); // 设置日  (容错的能力)
    console.log(d5.toLocaleString());

    5、倒计时

    // 距离10月1日还有多久
    var h1 = document.getElementsByTagName('h1')[0];
    var d1 = new Date(2020, 8, 9, 11, 32, 0); // 未来时间
    
    fn(); // 一打开就执行
    var timer = setInterval(fn, 1000); // 每隔一秒执行一次
    
    function fn() {
        var d2 = new Date(); // 当前时间
        var d = Math.floor((d1 - d2) / 1000); // 未来时间 - 当前时间,取得秒数
    
        if (d <= 0) {
            clearInterval(timer);
            h1.innerHTML = '开始抢购吧';
            return;
        }
    
        var date = Math.floor(d / 86400); //
        var h = Math.floor(d % 86400 / 3600); // 小时
        var m = Math.floor(d % 3600 / 60); // 分钟
        var s = d % 60; //
        h1.innerHTML = '距离还有:' + date + '天' + toTwo(h) + '小时' + toTwo(m) + '分钟' + toTwo(s) + '秒';
    }
    
    function toTwo(n) {
        if (n < 10) {
            return '0' + n;
        } else {
            return '' + n;
        }
    }

     6、Moment.js

    地址:http://momentjs.cn/

    作用:moment.js是一个轻量级的JavaScript时间库,它方便了日常开发中对时间的操作,提高了开发效率。

    日常开发中,通常会对时间进行下面这几个操作:比如获取时间,设置时间,格式化时间,比较时间等等。通过moment.js可以快速的格式化事件,得到想要的格式。

    创建时间

    var d = moment(); // 创建当前时间
    var d = moment('2020-10-10'); // 年月日
    var d = moment('2020-10-10 12:12:12'); // 年月日 时分秒
    var d = moment('20201010'); // 年月日
    
    var d = moment(Date.now() - 86400000); // 昨天的此时此刻 (传入时间戳)
    
    console.log(d.format('YYYY年MM月DD日 HH:mm:ss')); // 格式化时间

    格式化时间

    var d = moment(); // 创建当前时间
    
    console.log(d.format('YYYY年MM月DD日 HH:mm:ss')); // 格式化时间
    
    console.log(d.format('YYYY')); //
    console.log(d.format('MM')); //
    console.log(d.format('DD')); //
    console.log(d.format('d')); // 星期
    console.log(d.format('HH')); //
    console.log(d.format('mm')); //
    console.log(d.format('ss')); //
    
    console.log(d.format('x')); // 只含秒的时间戳

    其它操作

    // 修改或获取时间某一部分
    var d = moment().year(2030).month(2); // 修改年 修改月
    var d = moment().set('year', 2050); // 修改年
    
    console.log(d.format('YYYY年MM月DD日 HH:mm:ss'));
    
    console.log(moment().year()); // 获取年
    console.log(moment().month()); // 获取月
    
    // --------------------------
    // 增加时间
    var d = moment().add(5, 'day'); // 5天以后
    console.log(d.format('YYYY年MM月DD日 HH:mm:ss'));
    
    // ----------------
    // 减少时间
    var d = moment().subtract(5, 'day'); // 5天前
    console.log(d.format('YYYY年MM月DD日 HH:mm:ss'));
    
    // 两个时间的比较
    // 格式:时间1.diff(时间2, '比较的值');  时间1和时间2比较
    var n = moment().diff(moment('19990910'), 'year');
    console.log(n);
  • 相关阅读:
    进程、线程、线程安全理解
    查日志常用Linux命令
    Spring容器管理Bean的生命周期
    在Linux模拟浏览器访问下载文件
    在windows上安装mysql
    java判断ip和端口是否通信正常
    Mongodb开启慢查询
    golang 中奇怪的空切片
    关于 MySQL sql_log_bin
    MySQL read_only 与 super_read_only 之间的关系
  • 原文地址:https://www.cnblogs.com/cyf666cool/p/13650846.html
Copyright © 2011-2022 走看看