Moment.js 根据特定日期(以及过去几年)获取周数

问题描述 投票:0回答:4

如何从 moment JS 中仅从所选日期的 moment 格式化对象中获取过去日期的周数?

javascript momentjs week-number
4个回答
139
投票
  $(document).ready(function(){
    var weeknumber = moment("12-25-1995", "MM-DD-YYYY").week();
    console.log(weeknumber);
  });

根据 momentjs 文档:

因为不同的区域设置对一年中的周编号的定义不同, Moment.js 添加了 moment#week 来获取/设置一年中的本地化周。

一年中的哪一周取决于哪一天是第一天 周(星期日、星期一等),以及哪一周是第一周 那一年。

例如,在美国,星期日是开斋节的第一天 星期。 1 月 1 日所在的那一周是一年的第一周。

因此,如果您在获取正确的周数时遇到问题,请使用 .isoWeek()

$(document).ready(function(){
  var weeknumber = moment("11-26-2016", "MMDDYYYY").isoWeek();
  alert(weeknumber);
});

示例


24
投票

您还可以使用

format()

示例:

moment().format('w') // as .week() like '1'
moment().format('W') // as .isoWeek() like '1'
moment().format('ww') // as .week() (2 digits) like '01'
moment().format('WW') // as .isoWeek() (2 digits) like '01'

ISO 周日期:https://en.wikipedia.org/wiki/ISO_week_date

更多信息:https://momentjs.com/docs/#week-year-week-and-weekday-tokens


3
投票

获取当前日期的周数

moment(moment().toDate(), "MM-DD-YYYY").isoWeek()

-3
投票

moment().format("d")
为您提供周数,介于 0 和 6 之间,其中 0 代表星期日,6 代表星期六

© www.soinside.com 2019 - 2024. All rights reserved.