一. ISO8601
国际标准ISO 8601,是国际标准化组织的日期和时间的表示方法
我们关注日期和时间的组合表示法
合并表示时,要在时间前面加一大写字母T,如要表示东八区时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00
用法
1. Date对象=>ISO字符串

newDate()可以得到一个当前时间的date对象,是中国标准时间。
我们通常使用toISOString() 把这个Date对象转换成ISO表示方式的字符串。
2. ISO字符串=>Date对象

比如我们有一段ISO字符串,把这个字符串放入Date.parse()里,会得到一串数字,再把这串数字放到newDate() 里,就可以还原成Date对象。
JS操作时间的库-dayjs
安装
yarn add dayjs复制代码
使用
import dayjs from 'dayjs';复制代码
dayjs() 就相当于new Date() ,返回一个当前时间的对象。这个对象有很多API,操作这个时间。
也可以传进去一段ISO字符串,转换成dayjs对象
beautify(string: string){const day=dayjs(string)const now=dayjs()if(day.isSame(now,'day')){return '今天'}else if(day.isSame(now.subtract(1,'day'),'day')){return '昨天'}else if(day.isSame(now.subtract(2,'day'),'day')){return '前天'}else if(day.isSame(now,'year')) {return day.format('M月M日')}else {return day.format('YYYY年M月D日')}}
这个参数字符串是’2020-5-30’这样的字符串,是通过把Date对象进行.ISOString()转换成ISO标准时间,然后以T分隔出来的日期字符串。
我们想根据不同的情况进行不同的展示。比如,显示今天,昨天,前天。
有时候我们想把一堆日期排序,就需要比较日期的大小。如果现在的每一个日期是ISO字符串的形式,字符串可以使用> <=来比较,但是如果想相减呢?
字符串是不支持相减的。只能把他们变成数字,取值,再相减
dayjs(string).valueOf()
传进dayjs里,变成对象,调用valueOf,就变成值了,这时就可以相减了。
如何将数字日期改为今天,昨天,前天

用原生方法写 

设置昨天 怎么写
方法一 86400
今天 减去 86400 就是前一天
或提出来
方法二 : subtract


