首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用JavaScript填充即将到来的星期四

用JavaScript填充即将到来的星期四
EN

Stack Overflow用户
提问于 2022-08-25 13:09:02
回答 2查看 45关注 0票数 -2

我正在尝试用JavaScript填充即将到来的星期四。这个工作一直持续到月底。如果是8月25日的话

我正在寻找一个更聪明的解决方案,以支持数月等。

代码语言:javascript
运行
复制
document.getElementById("mydiv").innerHTML = getNextThursday();


    
function getNextThursday() {

  var today = new Date();
  var year = today.getFullYear();
  var mes = today.getMonth()+1;
  var dia = today.getDate() + ((7 - today.getDay() + 4) % 7 || 7);
 
  
  
  var fecha = "Next Thursday - "+mes+"/"+dia+"/"+year;


  return fecha;

    
} 
代码语言:javascript
运行
复制
<span id="mydiv"> Date</span>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-25 13:16:16

如果我保留您的逻辑,您必须只使用本机setDate()来设置日期。

代码语言:javascript
运行
复制
function getNextThursday() {
  const d = new Date();
  d.setDate(d.getDate() + (((4 + 7 - d.getDay()) % 7) || 7));

  const year = d.getFullYear();
  const mes = d.getMonth()+1;
  const dia = d.getDate();
 
 const fecha = "Next Thursday - "+mes+"/"+dia+"/"+year;

  return fecha;
} 
票数 1
EN

Stack Overflow用户

发布于 2022-08-25 13:22:55

首先将日期设置为下星期四,然后得到年、月和日的值。

代码语言:javascript
运行
复制
function getNextThursday(date = new Date()) {
  // Copy date so don't affect original
  let d = new Date(date);
  // Set d to next Thursday first
  d.setDate(d.getDate() + ((7 - d.getDay() + 4) % 7 || 7));
  return d;
}

[new Date(2022,7,24), // Wed 24 Aug 2022
 new Date(2022,7,25), // Thu 25 Aug 2022
 new Date(2022,7,26), // Fri 26 Aug 2022
 new Date()           // Today
].forEach(d => console.log(
  d.toDateString() + ' -> ' +
  getNextThursday(d).toDateString())
);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73488095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档