当前位置: 首页 > 知识库问答 >
问题:

javascript函数返回一周中的第几天x之后的天数

越昊穹
2023-03-14

我想写的是一个简单的函数,它接受一天(D),X个天数,然后返回X天后的日期。

日期可以用('Mon'、'Tue'、'Wed'、'Thu'、'Fri'、'Sat'、'Sun')来表示。

X可以是任何整数0及以上。

例如D='Wed',X='2',返回'Fri',D='Sat'和X='5',返回'Wed'。

如何在JS中实现这一点?任何提示和建议都将不胜感激。

共有1个答案

楮乐邦
2023-03-14

如果我对你的问题理解正确,那么也许你可以做以下事情:

  1. 根据一周中的天数查找输入“d”的索引
  2. 应用“x”来抵消找到的索引
  3. 按总天数(7)应用模运算符,使偏移指数围绕有效日期范围旋转
  4. 根据计算出的指数返回结果日

下面是一段代码片段——希望能有所帮助!

function getWeekDayFromOffset(d, x) {

  // Array of week days
  const days = ['Mon', 'Tue', 'Wed', 'Thu','Fri','Sat','Sun'];
  
  // Find index of input day "d"
  const dIndex = days.indexOf(d);
  
  // Take add "x" offset to index of "d", and apply modulo % to
  // revolve back through array
  const xIndex = (dIndex + x) % days.length;
  
  // Return the day for offset "xIndex"
  return days[xIndex];
}

console.log('returns Fri:', getWeekDayFromOffset('Wed', 2));
console.log('returns Thu:', getWeekDayFromOffset('Sat', 5));
 类似资料:
  • 问题内容: 我有对象 我需要获得本周的第一天和最后一天。我需要将星期日和星期一的两种变体作为一周的开始和结束日期。我现在对代码有点困惑。你能帮我吗? 问题答案: 这适用于本周的第一天=本周的星期天,最后一天=本周的星期六。将其延长到周一至周日是微不足道的。 用户可以练习如何在不同月份的第一天和最后一天工作

  • 问题内容: 我需要一个函数,该函数分别返回给定星期数(和一年)的 第一天和最后一天 的星期一和星期日。 在1月1日不是星期一的几周里有困难,所以我无法使用这个标准。 问题答案: 解决方法如下: 我扩展了这篇文章的逻辑。 更新资料 第一个日历周有一个陷阱。某些国家/地区对第一周的处理方式有所不同。例如,在德国,如果一月份的第一周少于4天,则将其计为上一年的最后一周。Wikipedia上有一个概述。

  • 如何分类?例如,我希望一周的第一天是星期一。由此: 周一至周二周三至周五周六 我想要这个: 星期一至星期二星期三星期五星期六至星期日 或者我希望我一周的第一天是周五 那么在输出中应该是这样的: 星期五星期六星期一星期二星期三星期四

  • 问题内容: 我目前正在使用vbscript函数以2/12/2009格式获取本周和上周的第一天值。我想知道是否可以使用SQL查询。 问题答案: 这些语句应该在TSQL中完成您想要的操作。请注意,这些报表基于当前日期。您可以将getdate()替换为所需的任何日期:

  • 鉴于下面的代码片段,为什么最后四个输出周期是相同的?我希望这些行的天数部分是4,3,2,1,而不是4,4,4,4。这是一个错误还是我遗漏了一些明显的东西?(天晚了,我很累,所以很可能是后者。)我用的是野田佳彦时间1.2.0。

  • 问题内容: 我需要最快的方式来获得一周的第一天。例如:今天是11月11日,是星期四;我想要本周的第一天(即11月8日)和一个星期一。我需要用于MongoDB地图功能的最快方法,有什么想法吗? 问题答案: 使用Date对象的方法,您可以知道星期几(0 =星期日,1 =星期一,等等)。 然后,您可以减去该天数加一,例如: