前提概要:
优惠券发放的有效性:
1、通过设定“有效开始时间”、“有效结束时间”来控制优惠券的有效性
2、通过给定有效时长,自动计算多少天后失效
js所需效果:1、开始时间-结束时间=失效天数
2、 当前时间+失效天数=结束时间
核心代码:
1、通过开始时间和结束时间得到失效天数
a.通过id获取标签的值
var expiryDateStart = $('#expiryDateStart').val();
var expiryDateEnd = $('#expiryDateEnd').val();
b.将得到的日期格式,去除/-后
var expS = new Date(expiryDateStart.replace(/-/g, "/"));
var expE = new Date(expiryDateEnd.replace(/-/g, "/"));
c.得到的整数计算天数
var cycle = parseInt((expE.getTime() - expS.getTime()) / (1000 * 60 * 60 * 24));
$('#cycleTime').val(cycle);
2、通过当前时间和失效天数,得到失效日期
var nowDate = new Date();
var newDate = new Date();
var newTimes = newDate.getTime() + (cycleTime * 24 * 60 * 60 * 1000);
newDate.setTime(newTimes);
$('#expiryDateStart').val(nowDate.toLocaleDateString());
$('#expiryDateEnd').val(newDate.toLocaleDateString());
拓展:toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。