这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战;
写在前面
日常开发中,日期时间也是我们经常会使用到的,js也给我们提供了一个获取日期时间和操作日期时间的方法Date对象
,下面我们一起来学习一下吧~
正文
基础使用
基础使用起来很简单,我们直接new Date()
就可以拿到一个日期时间了
当然,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.....