发现问题:后台传过来的时间与当前时区时间不一样,经比对发现其为UTC时间
需求:展示的应该是当前时区的时间
解决方法:moment插件
1.安装
npm install moment --save
2.在项目中引入
import moment from "moment"
3.使用
// date是传进去的UTC时间function utcToLocal(date) {const fmt = 'YYYY-MM-DD HH:mm:ss'return moment.utc(date).local().format(fmt)}
写在后面
中间出现了一点小插曲:
date传入的是字符串,且此字符串必须为UTC标准格式。即"-01-31T14:32:19Z"
字符串带T和Z:T表示后面是时间,Z表示0时区
后台传给我的数据是这样的
created_time: "-11-01 08:57:12"
所以套用上方的使用方法报了错误。
我采用的是将"T"和"Z"拼接在这个字符串中:
字符串分割:
created_time.substr(0,10)+'T'+created_time.substr(11,8)+'Z'
补充--分割字符串的方法:
1、split:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
2、indexOf() :返回某个指定的字符串值在字符串中首次出现的位置(从左向右)。没有匹配的则返回-1,否则返回首次出现位置的字符串的下标值。
3、substr(start,length):表示从start位置开始,截取length长度的字符串。
4、substring(start,end):表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符。
5、lastIndexOf()方法返回从右向左出现某个字符或字符串的首个字符索引值(与indexOf相反)
分割字符串的方法引用这位博主:/fgnja145123/article/details/120422232