如何使用new Date( )及其优化?
这是一个获取当前事件的对象方法,我们常常用将其用于获取某个数据创建时的时间。在使用的时候,走了很多弯路,所以在这里分享一下作者是如何使用new Date()
的。
new Date()表现形式
var d = new Date //创建一个时间点
d
//打印结果:Wed Aug 11 2021 18:30:08 GMT+0800 (中国标准时间)
d
这个对象本身会显示中国的标准时间。
我们需要将这个时间利用起来,最好使用IOS8601
格式。所以要对d
进行字符串化处理,这里我们使用toISOString()
。
d.toISOString()
//打印结果:"2021-08-11T10:30:08.298Z"
2021-08-11T10:30:08.298Z
是一个标准的ISO8601
格式。T之前的是日期,T之后的表示时间,末尾的Z(zero)表示标准时区。注意,这里的标准时区并不是北京时间......
使用ISO8601
获取日期和时间
假设我们需要使用toISOString()
化后的数据,我们可以以“T”为分割点,将日期和具体时间分隔开。
const [date, time] = d.toISOString().split('T');
这时候打印date,就可以获取当天的日期了。
date
//打印结果:"2021-08-11"
将日期变成今天
首先设置三个变量表达年月日:
XXX(){
const y = d.getFullYear() //year
const m = d.getMonth() //month
const t = d.getDate() //today
}
设置if判断,符合条件返回’今天‘
XXX(string){
const y = d.getFullYear() //year
const m = d.getMonth() //month
const t = d.getDate() //today
if(now.getFullYear() === y && now.getMonth()=== m && now.getDate() === t){
return '今天'
}else{
return string
}
}
简化时间的调用:Day.js
直接用toISOString()
实在是太粗糙了。这里推荐一款插件Day.js
,体积仅仅2kb。
安装
npm install dayjs --save
yarn add dayjs
使用
首先需要引入:
import dayjs from 'dayjs';
使用方面,可以自己看官网的format显示操作。
这里举个例子你就知道它有多爽了。
同样是将今天的日期显示为’今天‘:
xxx(string){
if(dayjs(string).isSame(new Date(),'day')){
return '今天'
}else{
return string
}
}
对比前面的代码,是不是省事很多!!!