ISO 8601和dayjs

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 dayjsyarn 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()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容