【小问题】ios适配时间戳解析Date.parse出错

在某些iOS版本的微信小程序中,日期格式yyyy-dd-mmhh:mm:ss无法正确解析,导致NaN错误。为解决此问题,可以使用正则表达式将-替换为/,然后用Date.parse进行处理,如`consttimestamp=Date.parse(firstShowHomeTime.replace(/-/g,/));`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

使用场景:微信小程序
部分版本的ios系统无法解析2023-04-12 17:16:32(yyyy-dd-mm hh:mm:ss),会识别解析为NaN,出现错误

只能解析2023/04/12 17:16:32(yyyy/dd/mm hh:mm:ss)

解决方案

const timestamp = Date.parse(
     firstShowHomeTime.replace(/-/g, '/')
);
// 检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。 auto.waitFor(); //打开猫眼app app.launchApp("猫眼"); openConsole(); console.setTitle("猫眼 go!","#ff11ee00",30); main(); //获取输入的场次信息 function getPlayEtc(){ var playEtc = rawInput("请输入场次关键字(按照默认格式)", "周六"); if (playEtc == null || playEtc.trim()=='') { alert("请输入场次信息!"); return getPlayEtc(); } console.log("手动输入的场次信息:"+playEtc); return playEtc; } //获取输入票价信息 function getTicketPrice(){ var ticketPrice = rawInput("请输入票价关键字(按照默认格式)", "788"); if (ticketPrice == null || ticketPrice.trim()=='') { alert("请输入票价信息!"); return getTicketPrice(); } console.log("手动输入的票价信息:"+ticketPrice); return ticketPrice; } //获取输入的抢票时间 function getSellTime(){ var sellTime = rawInput("请输入抢票时间(按照默认格式)", "10-07 12:18"); if (sellTime == null || sellTime.trim()=='') { alert("请输入抢票时间!"); return getSellTime(); } return sellTime; } /** * * @returns 大麦服务器时间戳 */ function getDamaiTimestamp() { return JSON.parse(http.get("https://mtop.damai.cn/gw/mtop.common.getTimestamp/ ", { headers: { 'Host': 'mtop.damai.cn', 'Content-Type': 'application/json;charset=utf-8', 'Accept': '*/*', 'User-Agent': 'floattime/1.1.1 (iPhone; iOS 15.6; Scale/3.00)', 'Accept-Language': 'zh-Hans-CN;q=1, en-CN;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Connection': 'keep-alive' } }).body.string()).data.t; } /** * * @param {时间戳} timestamp * @returns ISO 8601 格式的北京时间 */ function convertToTime(timestamp) { var date = new Date(Number(timestamp)); var year = date.getUTCFullYear(); var month = (date.getUTCMonth() + 1).toString().padStart(2, "0"); var day = date.getUTCDate().toString().padStart(2, "0"); var hours = (date.getUTCHours() + 8).toString().padStart(2, "0"); var minutes = date.getUTCMinutes().toString().padSt
最新发布
03-13
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值