内置对象——Date

获取当前时间:new Date()

// 传入表示“年月日时分秒”的数字
let dt1 = new Date(2020, 0, 6, 0, 0, 0);
console.log(dt1);

// 传入日期字符串
let dt2 = new Date('2020-1-6');
console.log(dt2);

// 传入距离国际标准时间的毫秒数
let dt3 = new Date(1578240000000);
console.log(dt3);

注意,传入表示“年月日时分秒”的数字时,

  1. 如果只传入一个数字,会被认为传入的是毫秒数;
  2. 月份的范围是 0-11,而不是 1-12。

两个时间对象是可以直接相减的,返回值为两者的毫秒数差:

let dt1 = new Date(2020, 2, 1);
let dt2 = new Date(2020, 3, 1);

// 求差值
let diff = dt2 - dt1;

// 一天的毫秒数
let ms = 24 * 60 * 60 * 1000;

console.log(diff / ms); // 31

解析日期字符串:Date.parse()

Date.parse方法用来解析日期字符串,返回该时间距离时间零点(1970年1月1日 00:00:00)的毫秒数:

let dt = Date.parse('2020-1-6');
console.log(dt); // 1578240000000

时间对象转时间字符串:to 方法
to 方法有很多, toJSON() 方法:

let dt = new Date();
let dtStr = dt.toJSON();

console.log(dtStr); // 2020-01-03T09:44:18.220Z

仔细观察控制台中打印出的内容,你可能会感到疑惑,为什么打印的时间和当前的时间差 8 个小时,这是因为打印的时间是现在UTC 时区的时间,而我们的时间是东八区时间,比国际标准时间快 8 个小时。

获取时间对象的年/月/日:get 方法

Date对象提供了一系列 get 方法,用来获取实例对象某个方面的值:

let dt = new Date();
dt.getTime(); // 返回实例距离1970年1月1日00:00:00的毫秒数。
dt.getDate(); // 返回实例对象对应每个月的几号(从1开始)。
dt.getDay(); // 返回星期几,星期日为0,星期一为1,以此类推。
dt.getFullYear(); // 返回四位的年份。
dt.getMonth(); // 返回月份(0表示1月,11表示12月)。
dt.getHours(); // 返回小时(0-23)。
dt.getMilliseconds(); // 返回毫秒(0-999)。
dt.getMinutes(); // 返回分钟(0-59)。
dt.getSeconds(); // 返回秒(0-59)。

注意,所有这些get*方法返回的都是整数,不同方法返回值的范围不一样:
分钟和秒:0 到 59
小时:0 到 23
星期:0(星期天)到 6(星期六)
日期:1 到 31
月份:0(一月)到 11(十二月)

除了“日期”外,其他的时间范围都是从 0 开始的。

设置时间对象的年/月/日:set 方法

set 方法和 get 方法正好相反,它能够设置时间对象的某个方面的值。

let dt = new Date();
dt.setTime(ms); // 设置实例距离1970年1月1日00:00:00的毫秒数。
dt.setDate(date); // 设置实例对象对应每个月的几号(从1开始)。
dt.setFullYear(year); // 设置四位的年份。
dt.setMonth(month); // 设置月份(0表示1月,11表示12月)。
dt.setHours(hour); // 设置小时(0-23)。
dt.setMilliseconds(ms); // 设置毫秒(0-999)。
dt.setMinutes(min); // 设置分钟(0-59)。
dt.setSeconds(sec); // 设置秒(0-59)。

在这里插入图片描述

发布了42 篇原创文章 · 获赞 3 · 访问量 576

猜你喜欢

转载自blog.csdn.net/weixin_43117402/article/details/104900525
今日推荐