JavaScript时间戳的应用


1. 什么是时间戳

时间戳:是指从格林威治时间1970年01月01日00时00分00秒(UTC/GMT的午夜,即北京时间1970年01月01日08时00分00秒)起至现在的总秒数


2. 时间戳的获取

  • 获取当前执行方法时的时间

Date.now():返回表示方法执行时日期和时间的毫秒数

console.log(Date.now());

在这里插入图片描述

  • 指定日期转换为时间戳

精确到毫秒

let date = new Date('2022-07-12 23:50:50:121')

console.log(date.getTime());
console.log(date.valueOf());

在这里插入图片描述

  • 还有一个 Date.parse(),它的用法有所不同:

直接传具体日期,精确到毫秒

console.log(Date.parse('2022-07-12 23:50:50:121'));

在这里插入图片描述

传日期对象,精确到,将毫秒数变为 000

console.log(Date.parse(date));

在这里插入图片描述


3. 时间戳的应用

  • 比较日期大小
let date1 = new Date('2022-07-12 23:50:50:121');
let date2 = new Date('2022-07-12 23:50:54:100');
if (date1.getTime() < date2.getTime()) {
    console.log('date1 的时间更早');
}

在这里插入图片描述
这里当然直接 date1date2 比较就可以了。

if (date1 < date2) {
    console.log('date1 的时间更早');
}

在这里插入图片描述

  • 用来计时
const lastTime = new Date('2022-07-11 23:50:50:121');
const nowTime = Date.now();
// 将毫秒转换为秒
const dur = parseInt(nowTime - lastTime) / 1000;
// 天数
const days = parseInt(dur / 3600 / 24);
// 小时
const hours = parseInt(dur / 3600 % 24);
// 分钟
const minutes = parseInt(dur / 60 % 60);
// 秒
const seconds = parseInt(dur % 60);

console.log(`距离 lastTime 已经过去了 ${days < 10 ? '0' + days : days}${hours} 小时 ${minutes} 分钟 ${seconds}`);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值