javascript - 你如何在 JS 中获得这周的星期二?没有任何库
问题描述
我已经看到关于获得下周一的示例,但我需要获得本周的当前周二。请问那里有人能得到这个吗?我不想使用任何库。
即因为它是星期三 24/04/2019,我想在变量中获取日期 23/04/2019。
var d = new Date();
d.setDate(d.getDate() + ((7 - d.getDay()) % 7 + 2) % 7);
console.log(d)
这是我试图在下周二获得的代码,我只需要在周二获得当前的几周。如果是星期一,那么它会得到第二天的日期,如果是星期五,它会得到前一个星期二,有什么想法吗?
干杯。
解决方案
从 2 中减去当前星期几,并将其添加到当前日期。
如果当前日期是星期三 ( 3
) 2-3 = -1
,并且当您添加-1
到当前日期时,您会得到前一个日期,即星期二。
如果当前日期是星期一 ( 1
),2-1 = 1
当您添加1
到当前日期时,您会得到下一个日期,即星期二。
var d = new Date();
dayDiff = 2 - d.getDay();
d.setDate(d.getDate() + dayDiff);
console.log(d);
这假设您将星期日视为本周的开始。如果一周从星期一而不是星期日开始,您将不得不特别对待星期日。
推荐阅读
- java - 函数运行两次不知道为什么
- javascript - Firebase 身份验证 - 用户对象仅在首次成功注册后才变为空
- c++ - 抽象类类型“A”的无效新表达式
- maven - 在 gradle 库中包含 JAR 文件的字节码与仅将其添加为依赖项
- angular - IONIC框架上的饼图google中的rtl方向文本是否有任何属性?像“方向:rtl”之类的东西?
- php - 页面重新加载后 PHP 会话不会持续存在
- angularjs - AngularJS 中同一部分模板的多个“实例”
- spring - Spring Reactive Data (R2DBC) 中是否有 @MappedSuperclass
- r - 仅将正则表达式应用于短语的第一个单词(用空格定义)
- java - 如何阻止 Heroku 更改位置标头并使用我的 Spring Boot OAuth2 服务导致 401?