关于date对象常见的几个用法

获取当前日期

function getNowDate() {
  var date = new Date();
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  var day = date.getDate();
  var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  var week = date.getDay();
  return year + '/' + month + '/' + day + '\n' + arr[week];
}

获取当前时间

function getNowTime() {
   var time = new Date();
   var h = time.getHours();
   h = h < 10 ? '0' + h : h;
   var m = time.getMinutes();
   m = m < 10 ? '0' + m : m;
   var s = time.getSeconds();
   s= s < 10 ? '0' + s : s;
   return h + ':' + m + ':' + s 
 }

获取毫秒数(距1970年1月1日)

    // 1.通过valueof()、getTime()
    var date1 = new Date();
    var now = date1.getTime();
    console.log(date1.getTime());
    console.log(date1.valueOf());
    //2.简单的写法(最常用)做了+运算,触发对象调用了valueof()方法
    var date2 = +new Date(); 
    // 3.h5新增
    console.log(Date.now());

+new Date()为什么可以获取当前的毫秒数?
对new Date()这个对象进行**+**运算,触发对象执行了valueOf()这个方法
举例

var date = new Date();
var date1 = date.getTime();
console.log(date1 === date.valueOf());//true
console.log(date1 === +date);//true

当前时间距离目标时间还有多长时间

   
    //通过时间戳来计算
    function countDown(time) {
      var now = +new Date();
      var end = +new Date(time);
      var result = (end - now) / 1000;
      var day = parseInt(result / 60 / 60 / 24);
      day = day > 10 ? day : '0' + day;
      var h = parseInt(result / 60 / 60 % 24);
      h = h > 10 ? h : '0' + h;
      var m = parseInt(result / 60 % 60);
      m = m > 10 ? m : '0' + m;
      var s = parseInt(result % 60);
      s = s > 10 ? s : '0' + s;
      return day + '天' + h + '时' + m + '分' + s + '秒';
    }
    countDown('2020-1-16')
发布了61 篇原创文章 · 获赞 15 · 访问量 4086

猜你喜欢

转载自blog.csdn.net/qq_44162474/article/details/103991566