【问题标题】:How to get the Days b/w current week in moment.js如何在 moment.js 中获取当前周的 Days b/w
【发布时间】:2023-03-17 11:22:01
【问题描述】:

我是 Angular js 和 moment.js 的新手,我有以下代码,它给出了一周的开始日期和结束日期,例如 1 月 17 日至 1 月 23 日。但我想要 1 月 17 日星期一的所有 7 天。

我的代码

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>

【问题讨论】:

  • 你的问题我不清楚。您希望获得一周之间的所有 7 天并绑定到格式为“1 月 17 日,星期一”的某个地方。听起来对吗?
  • 是的,这就是我想要的。也对不起我的英语@J-D

标签: angularjs date momentjs days


【解决方案1】:

你想要的格式可以用下面的矩代码来实现。

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

现在,要获取一周之间的所有日期,您需要使用包含所有七个日期的数组。通过简单的 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"));

现在要将它与 angular 一起使用,您可以将 days 数组分配给某个范围变量并使用 ng-repeat 来显示日期。

JSFiddle

【讨论】:

  • 谢谢老兄。有效...@J-D
  • 嘿,我想要两个按钮,当我点击下一步时,必须显示下周的天数。如果我点击 prev 必须显示前一周的天数。
  • weekEnd 未使用
【解决方案2】:

改进 J-D 的答案。这将返回一个矩对象数组:

const getCurrentWeekDays = () => {
  const weekStart = moment().startOf('week');

  const days = [];
  for (let i = 0; i <= 6; i++) {
    days.push(moment(weekStart).add(i, 'days'));
  }

  return days;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    相关资源
    最近更新 更多