Date.parse在android中支持解析YYYY-MM-DD HH:mm:ss格式的日期字符串
Date.parse在ios中不支持解析YYYY-MM-DD HH:mm:ss格式的日期字符串

如若使用Date.parse解析日期字符串,需将YYYY-MM-DD HH:mm:ss格式转为YYYY/MM/DD HH:mm:ss格式。

例如:

Date.parse('2022-07-22 11:11:11')
在安卓中得到的值是1658459471000
在ios中返回的值是NaN

附上:

// 时间函数
export const formatDate = (value, formatStr = 'YYYY-MM-DD') => {
  if (!value) {
    return '--'
  } else if (value.length === 8) {
    const i = value.replace(/(\d{4})(\d{2})(\d{2})/, '$1/$2/$3'); // 考虑后端通常返回的格式20200101
    if (Date.parse(i)) {
      return dayjs(value).format(formatStr)
    } else {
      return ''
    }
  } else { // 不考虑时间戳和年月日分别传入 实例Date的情况, ios中Date.parse不支持YYYY-MM-DD HH:mm:ss格式,应转换为YYYY/MM/DD HH:mm:ss
    value = value.replace(/-/g, '/')
    if (value instanceof Date || Date.parse(value)) {
      return dayjs(value).format(formatStr)
    } else {
      console.error(`formatDate方法未处理${value}参数成功`)
      return ''
    }
  } 
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐