new Date 使用需要注意的地方
使用 new Date() 方法时在测试的时候可能没有问题;可是在真机运行的时候就会出现 NAN
遇到的问题
- 制作活动倒计时 ios 设备显示错误 android 显示正常
formatDuring (date) {
// 这里传入的 date 参数需要注意 年月日分隔符 2018/11/26 23:59:59
const mss = new Date(date).getTime() - new Date().getTime()
if (mss > 0) {
const days = parseInt(mss / (1000 * 60 * 60 * 24));
const hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = parseInt((mss % (1000 * 60 * 60)) / (1000 * 60));
const seconds = (mss % (1000 * 60)) / 1000;
this.timeRemaining = `活动剩余时间:${this.mynumber(days)}天${this.mynumber(hours)}时${this.mynumber(minutes)}分${this.mynumber(Math.floor(seconds))}秒`;
// this.timeRemaining = `活动剩余时间:${days}天${hours}时${minutes}分${Math.floor(seconds)}秒`;
} else {
this.timeRemaining = '哎呀~你来晚了,活动已结束'
}
}- 调用方法 formatDuring 传入的形参需要注意
formatDuring('2018/11/26 23:59:59'); // 错误参数 2018-11-26 23:59:59我之前在调用时 传入的参数是 2018-11-26 23:59:59, 所以在真机 IOS 上就出现 NAN
总结
注意到日期 年月日分隔符 在 ios 移动端会报错 需要用 / 来作为分隔符 切记不能使用 -
在Android和 微信开发者工具 和 chrome 浏览器 中测试用- 都不会出现问题 唯独ios
CC BY-NC-SA 4.0 2018–PRESENT © Wuxh