支付订单详情页30分钟倒计时
2022-04-09 本文已影响0人
逸笛
初始化调用:
this.countDown();
//倒计时:先获取时间间隔的秒数 之后把相差的秒数转为即时的时分秒
countDown() {
//开始的时间
var starttime = "2022/04/07 14:04:00";
//时间转时间戳
var start = new Date(starttime.replace(/-/g, "/")).getTime();
//表示之前的时间加30分钟
var endTime = start + 30 * 60000;
var date = new Date(); //现在时间
var now = date.getTime(); //现在时间戳
//先获取时间间隔的秒数 之后把相差的秒数转为即时的时分秒
var allTime = endTime - now;
var m, s;
if (allTime > 0) {
m = Math.floor((allTime / 1000 / 60) % 60);
s = Math.floor((allTime / 1000) % 60);
setTimeout(() => {
this.setState({
countdown: `请在${m}分${s}秒内尽快付款`,
});
this.countDown();
}, 1000);
} else {
//订单已失效
console.log("已截止");
this.setState({
state: 4,
countdown: "您未成功支付该笔订单,订单已关闭",
});
}
}