使用Moment js从一年获得所有月份并从一个月获得所有周数的问题

时间:2015-03-27 14:18:52

标签: javascript angularjs momentjs

是一个新的for moment.js

我想要3种类型的输出

  • 从一年中获取所有月份

  • 在Moment js

  • 中获得一个月的所有星期
  • 从一周开始的所有日子

我怎么能用moment.js做到这一点?

我已经尝试过全月获取

moment().months(2011);// it's working for my year is 2011

但我只有一年的最后2位数。

moment().months(11);// It's give wrong values or my year is 11

我也读了这份文件,他们说

moment().months()接受0到11之间的数字。如果超出范围,它将会冒泡到年份。

当我使用get days and weeks

时,这个问题也会产生

我怎么能在moment.js中解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用日期作为参数(12-12-2011)查找年月,月周和周日数值,如果您需要单词(星期一,12月)值,只需使用moment.js和翻译的格式。

有点不正确你做什么用moment()。个月(2011) - 时刻()现在返回日期时间,月数(值)加值数月到你的时刻查看并查看:

moment().months(2011).format("LLLL"); //result Tuesday, August 27, 2182 ...

现在读一下上周的一些here之间的差异(52/53)。

现在解决您的问题,

一年中的所有月份,严肃地说(12个月):

 moment("12-26-2011", "MM-DD-YYYY").month() + 1; 

获得一年中的一周而不是一个月(您将使用一周中的一周来进行混淆)

 moment("12-26-2011", "MM-DD-YYYY").week();

或试试这个(月周):

var curr_month = moment("12-26-2011", "MM-DD-YYYY").month(); 
var prev_month_last_week = moment("01-01-2011", "MM-DD-YYYY").add(curr_month -1, "month").week();
var your_week_per_month = moment("12-26-2011", "MM-DD-YYYY").week() - prev_month_last_week; //from 1 to 4:

星期几:

moment("12-26-2011", "MM-DD-YYYY").day();

希望它有所帮助。