如何在oment.js中获取当前周的b/w天数 [英] How to get the Days b/w current week in moment.js

查看:39
本文介绍了如何在oment.js中获取当前周的b/w天数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不熟悉ANGLING js和Moment.js,我有以下代码,它给出了像1月17日到1月23日这样的一周的开始日期和结束日期。但我想要这7天都是1月17日,星期一。

我的代码

var currentDate,
weekStart,
weekEnd,
shortWeekFormat = 'MMMM Do';

function setCurrentDate(aMoment){
currentDate = aMoment,
weekStart = currentDate.clone().startOf('week'),
weekEnd = currentDate.clone().endOf('week')
}

setCurrentDate(moment());
$scope.currentWeek = function(){ return currentDate.format(shortWeekFormat);         };
$scope.currentWeekStart = function(){ return weekStart.format(shortWeekFormat); };
$scope.currentWeekEnd = function(){ return weekEnd.format(shortWeekFormat); };

HTML

<h2><i class="fa fa-arrow-left"></i>Week Of {{currentWeek()}}{{currentWeekStart()}}-{{currentWeekEnd()}}<i class="fa fa-arrow-right"></i></h2>
<button ng-click="prevWeek()">previous week</button>
<button ng-click="nextWeek()">next week</button>

推荐答案

您需要的格式可以使用以下矩代码实现。

moment('01/19/2016').format("MMMM Do,dddd");
现在,要获取一周之间的所有日期,您需要使用array,它为您保存所有七个日期。使用简单的for循环,将天数添加到开始日期,您可以实现您想要的结果。请看下面的示例代码。

   var currentDate = moment();
   var weekStart = currentDate.clone().startOf('week');
   var weekEnd = currentDate.clone().endOf('week');

   var days = [];
   for (i = 0; i <= 6; i++) {

       days.push(moment(weekStart).add(i, 'days').format("MMMM Do,dddd"));

   };
   console.log(days);
   console.log(moment('01/19/2016').format("MMMM Do,dddd"));

现在要将其与角度一起使用,您可以将天数组分配给某个范围变量,并使用ng-Repeat显示日期。

JSFiddle

这篇关于如何在oment.js中获取当前周的b/w天数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆