前后端我们通常都会遇到时间格式化处理的问题,通常我们都会采用时间处理插件moment.js或day.js来快速处理,如果只是简单的处理,也会采取自定义简单时间处理的方法。
首先简单介绍下常见的几种时间:
CST
北京时间,China Standard Time,又名中国标准时间
中部标准时间(北美洲),Central Standard Time (USA) UT-6:00
澳州中部时间,Central Standard Time (Australia) UT+9:30
中国时间,China Standard Time UT+8:00
古巴标准时间,Cuba Standard Time UT-4:00
CST可以表示美国。澳大利亚,中国。古巴四个国家的时间
示例:
Sun Aug 30 2020 23:07:43 GMT+0800 (中国标准时间)
GMT
格林尼治标准时间,Greenwich Mean Time
示例:
Sun, 30 Aug 2020 15:09:23 GMT
UTC
国际协调时间,Coordinated Universal Time
ISO
标准时间
示例:
2020-08-30T15:09:23.786Z
CST = UTC/GMT + 8小时
通常Java总采用的是美国时间,格式化为常见的的YYYY-MM-DD HH:mm:ss
之类的格式时,会存在14小时的误差
//moment.js处理方式
moment(time).utc().zone(+6).format('YYYY-MM-DD HH:mm:ss');
//day.js处理方式
dayjs(time).subtract(14, 'hour').format('YYYY-MM-DD HH:mm:ss')