uni-app IOS时间转换出问题,new Date('yyyy:mm:dd HH:mm:ss')格式的时候失败

uni-app IOS时间转换出问题,new Date(‘yyyy:mm:dd HH:mm:ss’)格式的时候失败

开发环境 版本号 项目创建方式
HbuilderX 3.1.8

示例代码:

var time1=new Date('2021-04-07').getTime();  
var time2=new Date('2021-04-07 12:00:00').getTime();  
var time3=new Date().getTime();

操作步骤:

var time1=new Date('2021-04-07').getTime();  
var time2=new Date('2021-04-07 00:00:00').getTime();  
var time3=new Date().getTime();

预期结果:

1617763446000
1617763446000
1617763446XXX

实际结果:

1617763446000
NaN
1617763446XXX

更多关于uni-app IOS时间转换出问题,new Date('yyyy:mm:dd HH:mm:ss')格式的时候失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app IOS时间转换出问题,new Date('yyyy:mm:dd HH:mm:ss')格式的时候失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在iOS系统中,new Date()构造函数对日期字符串格式的解析比Android更严格。你遇到的问题是因为'2021-04-07 00:00:00'这种带空格的格式在iOS Safari中不被支持。

推荐使用以下解决方案:

  1. 标准化日期格式(推荐)
// 使用ISO 8601格式
var time2 = new Date('2021-04-07T00:00:00').getTime();
  1. 使用日期组件构造
// 拆分日期时间组件
var dateStr = '2021-04-07 00:00:00';
var parts = dateStr.split(/[- :]/);
var time2 = new Date(parts[0], parts[1]-1, parts[2], parts[3], parts[4], parts[5]).getTime();
  1. 使用moment.js或day.js库
// 使用day.js(轻量级替代方案)
import dayjs from 'dayjs';
var time2 = dayjs('2021-04-07 00:00:00').valueOf();
回到顶部