ISO 8601
是国际标准的日期和时间的表示方法
日期和时间的组合表示法
合并表示时,要在时间前面加大写字母T,如要表示东八区时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T173008+08。
如何得到一个ISO 8601
使用toISOString()
"2020-07-21T10:54:28.152Z"是标准时间,0时区
dayjs
但是我们一般不使用Date,因为有更好用的
用Moment.js或day.js,但Moment.js太大了(有16k),更多用day.js(是Moment.js的缩小版,有同样强大的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日');
}
}
我们想让当前日期显示为今天,那么就可以使用dayjs的API"isSame",将day和now的'day'做比较,相同即为今天,那么想要让当前日期的前一天显示为昨天呢,字符串是不支持加减的,就需要变成数字,取值后再相减
dayjs(string).valueOf()