Wuxh

Front-end Development

0%

new Date 使用需要注意的地方

使用 new Date() 方法时在测试的时候可能没有问题;可是在真机运行的时候就会出现 NAN

遇到的问题

  1. 制作活动倒计时 ios 设备显示错误 android 显示正常
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 = '哎呀~你来晚了,活动已结束'
}
}
  1. 调用方法 formatDuring 传入的形参需要注意
1
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