前提概要:

优惠券发放的有效性:

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 对象的日期部分转换为字符串,并返回结果。



通过天数得到日期,并存入数据库_前段开发笔记