夯实基础篇----js中的Date对象

201 阅读2分钟

这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战

写在前面

日常开发中,日期时间也是我们经常会使用到的,js也给我们提供了一个获取日期时间和操作日期时间的方法Date对象,下面我们一起来学习一下吧~

正文

基础使用

基础使用起来很简单,我们直接new Date()就可以拿到一个日期时间了

image.png

当然,Date中是可以传入参数的,比如我要拿到一个2022年1月1日的值,就可以这样写来获取

new Date(2022,0,01); // 这里月份的位置要写0,因为月份是从0开始计算的 Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)
new Date('2022-01-01'); // Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)

日期对象的类型

typeof new Date(); // "object"

日期对象是对象类型的,但是它具体的类型是什么呢,我们可以来获取看一下

console.log(Object.prototype.toString.call(new Date())) ; // [object Date]

可以看到是日期类型的,所以我们就可以直接使用两个日期对象来直接进行大小的判断了

new Date(2022,01,01) > new Date(); // true

通用转换函数

在与后端交互传参的时候,我们可能会需要使用时间戳来传参,获取时间戳我们可以使用Dare.parse()来获取,示例如下

Date.parse(new Date()); // 1630155627000

但是如果我们接口请求,获取到了这么一个字符串,如何将它转换为我们希望的2022-01-01这种格式呢,这就需要用到Date对象的一些获取年份、月份、日期等的API了,具体的你可以参数MDN,这里和你分享一个时间戳转日期的通用函数,你可以对照着文档熟悉一下,项目开发中就能够直接使用了。

 function format(time){
        time = new Date(time);
        const year = time.getFullYear();
        const month = String(time.getMonth()+1);
        const date = String(time.getDate());
        const hours = String(time.getHours());
        const minutes = String(time.getMinutes());
        const seconds = String(time.getSeconds());
        return `${year}-${month.padStart(2,0)}-${date.padStart(2,0)} ${hours.padStart(2,0)}:${minutes.padStart(2,0)}:${seconds.padStart(2,0)}`;
    }

总结

今天我们一起简单了解了Date对象的用法,有兴趣的小伙伴可以上MDN更多了解,大家加油。

前端漫漫长途,我们都在路上,希望可以和小伙伴们一起交流,一起进步。持续更新ing.....