簡體   English   中英

Moment JS 日期錯誤

[英]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'),
);

此答案的更多信息https://stackoverflow.com/a/68842658/6254964

這沒有錯 如果你看一下2021的日歷,第34th周是15 - 21 August 您將其指定為Monday 。所以現在是16 Aug 2021

注意:一周的開始是Sunday (ISO 標准)。

這可能是因為您的語言環境。 week方法使用您的語言環境來確定哪一周是一年中的第一周(這會弄亂您的周計算,使您落后一周)。

有關更多信息,請閱讀此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM