[英]Getting the same week for two different weeks - momentjs
我得到這兩個日期的同一周,即使在查看日歷時它們處於不同的星期。 我究竟做錯了什么?
moment()
.set({
year: 1982,
month: 3,
day: 21,
hour: 0,
})
.weeks()
moment()
.set({
year: 1982,
month: 3,
day: 26,
hour: 0,
})
.weeks()
兩者的結果都是 17。
1982 年 3 月 21 日是星期日。 1982 年 3 月 26 日是星期五。 如果您位於美國/加拿大或任何以星期日為一周的第一天的地方,它們在同一周。 所以你得到了正確的結果。
請參閱: https://momentjs.com/docs/#/customization/dow-doy/在“一周的第一天和一年的第一周”部分下
// ISO-8601, Europe
moment.updateLocale("en", { week: {
dow: 1, // First day of week is Monday
doy: 4 // First week of year must contain 4 January (7 + 1 - 4)
}});
// US, Canada
moment.updateLocale("en", { week: {
dow: 0, // First day of week is Sunday
doy: 6 // First week of year must contain 1 January (7 + 0 - 1)
}});
// Many Arab countries
moment.updateLocale("en", { week: {
dow: 6, // First day of week is Saturday
doy: 12 // First week of year must contain 1 January (7 + 6 - 1)
}});
// Also common
moment.updateLocale("en", { week: {
dow: 1, // First day of week is Monday
doy: 7 // First week of year must contain 1 January (7 + 1 - 1)
}});
根據 Moment.JS 文檔:
一年中的星期取決於哪一天是一周的第一天(星期日、星期一等),以及哪一周是一年中的第一周。 例如,在美國,星期日是一周的第一天。 1 月 1 日所在的那一周是一年中的第一周。
在您的示例 1982 中,一年的第一天是星期五,這意味着每個星期五周數都會增加。 因此,即使從星期日到星期六,4 月 21 日和 4 月 26 日(分別是你們的日期)在不同的星期。 由於 Moment.JS 用於確定一年中的星期幾的語言環境,它們在技術上是同一周。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.