好,我正在从一个字符串生成3个日期,我希望输出是:
billing date: 2020/01/11
cutoff start: 2019/11/11
cuttof end: 2019/12/10
但是我得到以下信息:
billing date: 2020/11/10
cutoff start: 2019/11/10
cuttof end: 2019/12/10
我想知道javascript是如何与变量一起使用的,或者是什么问题,因为一切都被改变了
var month = "Jan-20"
var coverage_month_obj = moment(month, 'MMM-YY').toDate();
var billing_date = new Date(coverage_month_obj.setDate(coverage_month_obj.getDate() + 10))
var cutoff_end = new Date(billing_date.setMonth(billing_date.getMonth() - 1))
cutoff_end = new Date(billing_date.setDate(billing_date.getDate() - 1))
var cutoff_start = new Date(billing_date.setMonth(billing_date.getMonth() - 1))
我想知道javascript是如何与变量一起使用的,或者是什么问题,因为一切都被改变了
简单地说,在JavaScript日期变量上调用setXXX
就地更新该变量。也就是说,这就是我们所说的“可变”。您可能已经假定日期是不可变的,并且没有在原地更改。
为了更好地实现目标,我建议使用momentjs的其他功能,根据给定的输入字符串来计算3个日期。