ISO 8601
是國際標(biāo)準(zhǔn)的日期和時(shí)間的表示方法
日期和時(shí)間的組合表示法
合并表示時(shí),要在時(shí)間前面加大寫字母T,如要表示東八區(qū)時(shí)間2004年5月3日下午5點(diǎn)30分8秒,可以寫成2004-05-03T17:30:08+08:00或20040503T173008+08。
如何得到一個(gè)ISO 8601
使用toISOString()

ISO8601
"2020-07-21T10:54:28.152Z"是標(biāo)準(zhǔn)時(shí)間,0時(shí)區(qū)
dayjs
但是我們一般不使用Date,因?yàn)橛懈糜玫?br> 用Moment.js或day.js,但Moment.js太大了(有16k),更多用day.js(是Moment.js的縮小版,有同樣強(qiáng)大的API,只有2k)
安裝
npm install dayjs或yarn add dayjs
使用
import dayjs from 'dayjs';
let oneDay = 86400 * 1000;//js里一天是86400毫秒
switch(string: string) {
let day = dayjs(string);
let now = new Date();
if (day.isSame(now, 'day')) {
return '今天';
} else if (day.isSame(now.valueOf() - oneDay, 'day')) {
return '昨天';
} else if (day.isSame(now.valueOf() - oneDay * 2, 'day')) {
return '前天';
} else if (day.isSame(now, 'year')) {
return day.format('M月DD日');
} else {
return day.format('YYYY年MM月DD日');
}
}
我們想讓當(dāng)前日期顯示為今天,那么就可以使用dayjs的API"isSame",將day和now的'day'做比較,相同即為今天,那么想要讓當(dāng)前日期的前一天顯示為昨天呢,字符串是不支持加減的,就需要變成數(shù)字,取值后再相減
dayjs(string).valueOf()