将字符串转换为日期并更改该日期

问题描述 投票:0回答:1

好,我正在从一个字符串生成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 date variables scope momentjs
1个回答
0
投票

我想知道javascript是如何与变量一起使用的,或者是什么问题,因为一切都被改变了

简单地说,在JavaScript日期变量上调用setXXX 就地更新该变量。也就是说,这就是我们所说的“可变”。您可能已经假定日期是不可变的,并且没有在原地更改。


为了更好地实现目标,我建议使用momentjs的其他功能,根据给定的输入字符串来计算3个日期。

© www.soinside.com 2019 - 2024. All rights reserved.