【JavaScript复习九】内置对象Date

欢迎来到JS复习专栏,本文章主要内容为内置对象Date

Date内置对象

  • 内置对象 Date 用来处理日期和时间。

  • 需要注意的是:Math 对象不同,Date 对象是一个构造函数 ,需要先实例化后才能使用。

创建Date对象

  1. 不传递参数时,则获取系统的当前时间对象

  2. 传递参数
    传递参数时,表示获取指定时间的时间对象。参数中既可以传递字符串,也可以传递数字,也可以传递时间戳
    如下写法:

const date11 = new Date('2020/02/17 21:00:00');
const date12 = new Date('2020/04/19'); 
const date13 = new Date('2020-05-20');
const date14 = new Date('Wed Jan 27 2017 12:00:00 GMT+0800 (中国标准时间)');
const date21 = new Date(2020, 2, 18); // 注意,第二个参数返回的是三月,
const date22 = new Date(2020, 3, 18, 22, 59, 58);
const date31 = new Date(1591950413388);

日期的格式化

想要日期以我们期望的格式展现,就是日期的格式化。

比如说,我期望能以 2020-02-02 19:30:59 这种格式进行展示。


在这之前,我们先来看看 Date 对象有哪些方法。

Date对象的方法

getFullYear()	获取年份	
getMonth()	获取月: 0-11	0代表一月
getDate()	获取日:1-31	获取的是几号
getDay()	获取星期:0-6	0代表周日,1代表周一
getHours()	获取小时:0-23	
getMinutes()	获取分钟:0-59	
getSeconds()	获取秒:0-59	
getMilliseconds()	获取毫秒	1s = 1000ms

好,那我们现在就来实现日期格式化:

格式要求:今年是:2022年7月31日 08:57:09 星期日

function formatDate() {
    
    
  var date = new Date();
  var year = date.getFullYear(); // 年
  var month = date.getMonth() + 1; // 月
  var day = date.getDate(); // 日
  var week = date.getDay(); // 星期几
  var weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  var hour = date.getHours(); // 时
  hour = hour < 10 ? '0' + hour : hour; // 如果只有一位,则前面补零
  var minute = date.getMinutes(); // 分
  minute = minute < 10 ? '0' + minute : minute; // 如果只有一位,则前面补零
  var second = date.getSeconds(); // 秒
  second = second < 10 ? '0' + second : second; // 如果只有一位,则前面补零
  var result = '今天是:' + year + '年' + month + '月' + day + '日 ' + hour + ':' + minute + ':' + second + ' ' + weekArr[week];
  return result;
}

获取时间戳

定义:

时间戳:指的是从格林威治标准时间的1970年1月1日,0时0分0秒到当前日期所花费的毫秒数(1秒 = 1000毫秒)。

计算机底层在保存时间时,使用的都是时间戳。时间戳的存在,就是为了统一时间的单位。我们经常会利用时间戳来计算时间,因为它更精确。而且,在实战开发中,接口返回给前端的日期数据,都是以时间戳的形式。

需要注意的是:

是在中文环境下运行的,与英文时间会存在8个小时的时差(中文时间比英文时间早了八个小时)。

getTime():获取时间戳

getTime() 获取日期对象的时间戳(单位:毫秒)。

更常用的方法:

const timestamp1 = +new Date();
console.log(timestamp1); 

利用时间戳检测代码的执行时间

怎么做?

我们可以在业务代码的前面定义 时间戳1,在业务代码的后面定义 时间戳2。相减就能得出业务代码的执行时间。

猜你喜欢

转载自blog.csdn.net/weixin_62542181/article/details/126089467