1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信小程序安卓(Android) /苹果(IOS)时间戳转换NaN兼容性问题

微信小程序安卓(Android) /苹果(IOS)时间戳转换NaN兼容性问题

时间:2021-09-03 15:09:24

相关推荐

微信小程序安卓(Android) /苹果(IOS)时间戳转换NaN兼容性问题

微信小程序(Android / IOS)是戳转换问题

1.定义时间转换的函数

function formatNumber(n){n = n.toString()return n[1] ? n : '0' + n;}//获取当前时间 拼接符号为 - function formatData(){var time = new Date();var y = time.getFullYear();var m = time.getMonth() + 1;var d = time.getDate();var h = time.getHours();var mm = time.getMinutes();var s = time.getSeconds();return y + '-' + formatNumber(m) + '-' + formatNumber(d) + ' ' + formatNumber(h) + ':' + formatNumber(mm) + ':' + formatNumber(s);}

使用

onLoad() {var time = formatData();console.log("当前时间:",time); // -03-04 09:06:47var timestamp = new Date(time).getTime() console.log("当前时间转换为时间戳:",timestamp); //1646356007000}

运行效果(Android)

运行效果(IOS)

IOS需要在微信开发者工具预览模式下运行时此效果(预览比真机调试更加接近使用场景)

造成原因

因为时间格式是以 - 符号连接的,而ios解析时间的格式不支持此符号,故造成NaN的效果

解决方案

转换时间以 / 形式连接

return y + '/' + formatNumber(m) + '/' + formatNumber(d) + ' ' + formatNumber(h) + ':' + formatNumber(mm) + ':' + formatNumber(s);

若是固定的时间格式可使用replace方法替换字符

var newTime = time.replace(/-/g, '/'); // /03/04 09:06:47

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。