最近写秒杀模块遇到一个问题,项目在pc浏览器各种调试没有问题,换手机时间部分显示异常,经过不断调试,是使用new Date()返回的时间不正常
苹果貌似不支持 时间格式为2019-12-7 09:25:24的格式,但是经过转换成2019/12/7 09:25:24就显示正常了
话不多说,看实际案例
var that = this;
//将时间格式中的‘-’转换成‘/’,不转换ios中会出现异常
that.endTime=that.endTime.replace(new RegExp(/-/gm) ,"/");
var interval = setInterval(function timestampToTime() {
var date = new Date(that.endTime) - new Date();
if (date > 0) {
let time = date / 1000;
// 获取时、分、秒
that.hou =
parseInt(time / 3600) < 10
? "0" + parseInt(time / 3600)
: parseInt(time / 3600);
that.min =
parseInt(((time % (60 * 60 * 24)) % 3600) / 60) < 10
? "0" + parseInt(((time % (60 * 60 * 24)) % 3600) / 60)
: parseInt(((time % (60 * 60 * 24)) % 3600) / 60);
that.sec =
parseInt(((time % (60 * 60 * 24)) % 3600) % 60) < 10
? "0" + parseInt(((time % (60 * 60 * 24)) % 3600) % 60)
: parseInt(((time % (60 * 60 * 24)) % 3600) % 60);
that.stratHour= parseInt((new Date(that.startTime).getHours()))
} else {
//活动已结束,全部设置为'00'
(that.hou = "00"), (that.min = "00"), (that.sec = "00");
}
}, 1000);
希望对大家有用