当下,根据结束日期获取财务开始日期

时间:2018-06-15 06:12:15

标签: javascript date momentjs

我可以访问财务结束日期,并且需要根据该日期计算财务开始日期。

这是我目前的逻辑。

moment('2017-03-31', 'YYYY-MM-DD').quarter()会给我一个季度,在这种情况下为1。

然后我使用

减去3个月

moment('2017-03-31', 'YYYY-MM-DD').subtract(3, 'months').format('YYYY-MM-DD')导致2016-12-31,然后我会进行各种hacky计算以达到2017-01-01

是否有一种优雅的方式来使用时刻API来计算开始日期。

基本上,给定

2017-03-31 - >输出:2017-01-01

2017-12-31 - >输出:2017-10-01

4 个答案:

答案 0 :(得分:1)

let date = '2017-12-31'    
moment(date).startOf('quarter').format('YYYY-MM-DD');

答案 1 :(得分:0)

如果你的目标是从结束日期减去3个月然后导致开始日期(这是本月的第一个),可以使用:

moment().startOf('month');

Moment Docs

答案 2 :(得分:0)

var d = moment('2017-03-31', 'YYYY-MM-DD').subtract(2, 'months').startOf('month').format('YYYY-MM-DD');

http://jsfiddle.net/rLjQx/57925/

答案 3 :(得分:0)

您可以按照以下方式使用:

var date = moment('2017-03-31').subtract(2, 'month').startOf('month').format('YYYY-MM-DD');
enter code here