[英]Moment JS Wrong Date
let time = moment(); console.log( time.year(2021).week(34).day('monday').format('D MMM YYYY'), );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
顯示16 Aug 2021
,但它應該是23 Aug 2021
- 為什么?
如果年份是 2020 年、2019 年等,效果很好,但在 2021 年失敗
將.isoWeek
切換為.week
即可。
const moment = require("moment");
let time = moment();
console.log(
time
.year(2021)
.isoWeek(34)
.day('monday')
.format('D MMM YYYY'),
);
這沒有錯。 如果你看一下2021
的日歷,第34th
周是15 - 21 August
。 您將其指定為Monday
。所以現在是16 Aug 2021
。
注意:一周的開始是Sunday
(ISO 標准)。
這可能是因為您的語言環境。 week
方法使用您的語言環境來確定哪一周是一年中的第一周(這會弄亂您的周計算,使您落后一周)。
有關更多信息,請閱讀此處
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.