如果年份会改变,moment js 会添加不工作的天数

moment js add days not working if the year will change

如果我们添加天数并将结果作为下一年的日期,那么我们会从预期中收到其他内容

// Start date (DD/MM/YYYY):
let currentfromdate = '01/10/2021';

// add 6 months:
let maxdate = moment(currentfromdate).add(180, 'days').format('DD/MM/YYYY');
let maxdate2 = moment(currentfromdate).add(6, 'months').format('DD/MM/YYYY');

// Actual output in DD/MM/YYYY:
maxdate: "08/07/2021"
maxdate2: "10/07/2021"

// expected output:
maxdate: "29/03/2021"
maxdate2: "31/03/2021"

目前您的代码默认解析 MM/DD/YYYY 格式的原始日期。因此,您从解析 01/10/2021 中得到 Jan 10 2021 的解析日期,因此当添加 6 个月时,您会得到 July 10 2021.

的结果

您需要像这样指定您的解析格式:

const dateParsed = moment(currentfromdate, "DD/MM/YYYY");