获得同一周的同一天

我正在使用时刻 JS,我想得到去年同一周的同一天。

我们在本月的第三周,星期一。第三周因为第一周从周日开始01/03/2020。在那一周,我们只有一个月匹配的一天。

我想得到第三周,去年的星期一。

我试过这样做,但它正在返回04/03/2019而不是11/03/2019. 知道如何解决这个问题吗?还有为什么我的代码会有这种行为?


console.log(moment().subtract(1, 'years').day(moment().day()).format('DD/MM/YYYY'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" integrity="sha256-4iQZ6BVL4qNKlQ27TExEhBN1HFPvAvAMbFavKKosSWQ=" crossorigin="anonymous"></script>


RISEBY
浏览 132回答 1
1回答

富国沪深

您应该首先找到当前是一年中的哪一天,然后减去一年并将天数加回:const currentDay = moment().dayOfYear()const thisDayLastYear = moment()&nbsp; .subtract(1, 'year')&nbsp; &nbsp; &nbsp;// go back one year&nbsp; .startOf('year')&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// start at the beginning&nbsp; .add(currentDay, 'days') // add the days back in&nbsp; .format('DD/MM/YYYY')console.log(thisDayLastYear)<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" integrity="sha256-4iQZ6BVL4qNKlQ27TExEhBN1HFPvAvAMbFavKKosSWQ=" crossorigin="anonymous"></script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript