我正在使用时刻 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>
1 回答
富国沪深
TA贡献1790条经验 获得超9个赞
您应该首先找到当前是一年中的哪一天,然后减去一年并将天数加回:
const currentDay = moment().dayOfYear()
const thisDayLastYear = moment()
.subtract(1, 'year') // go back one year
.startOf('year') // start at the beginning
.add(currentDay, 'days') // add the days back in
.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>
添加回答
举报
0/150
提交
取消