- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Javascript 日期数组,我需要过滤那些落在一周范围内的日期。
HTML5 input tag支持 type="week",它返回格式为 YYYY-WW
的字符串,即四位数年份,后跟两位数 ISO week date 。例如2017-1
周为 2017 年 1 月 2 日星期一至 2017 年 1 月 8 日星期日(含)。
如何选择 html5 周输入中指定的一周内的日期?
const dates = [
new Date('2016-12-07T22:10:50.855Z'),
new Date('2017-01-25T09:47:15.109Z'),
new Date('2016-12-23T17:36:26.309Z'),
new Date('2016-12-28T22:06:22.459Z'),
new Date('2016-12-26T14:04:12.874Z'),
new Date('2016-12-15T06:32:42.628Z'),
new Date('2017-01-18T08:14:43.478Z'),
new Date('2017-01-07T03:37:54.351Z'),
new Date('2017-01-05T04:05:52.437Z'),
new Date('2017-01-13T20:42:04.034Z'),
new Date('2016-12-31T10:55:47.552Z'),
new Date('2017-01-21T02:44:11.275Z'),
new Date('2016-12-20T18:09:35.298Z'),
new Date('2017-01-06T11:52:59.413Z'),
new Date('2017-01-12T02:40:56.888Z'),
new Date('2016-12-17T03:41:15.191Z'),
new Date('2016-12-18T01:30:40.727Z'),
new Date('2016-12-28T08:12:10.745Z'),
new Date('2017-01-19T11:25:56.199Z'),
new Date('2017-01-03T13:17:14.474Z'),
new Date('2017-01-11T07:00:57.338Z'),
new Date('2016-12-20T01:22:55.865Z'),
new Date('2017-01-11T23:42:48.051Z'),
new Date('2016-12-29T20:04:20.385Z'),
new Date('2017-01-18T13:21:48.257Z')
]
const week = '2017-01'
// given a date and a range
// return true if date falls within range
// otherwise return false
const fallsWithinRange(date, week) {
// magical function yet to be discovered here
}
const filteredDates = dates.filter((date)=>fallsWithinRange(date, week));
最佳答案
改编自this SO answer :
const fallsWithinRange = (date, week) => {
const y = week.split('-')[0];
const w = week.split('-')[1];
const startDays = 3 + (w - 1) * 7 - (new Date(y,0,1)).getDay();
const startDay = new Date(y, 0, startDays);
const endDays = 9 + (w - 1) * 7 - (new Date(y,0,1)).getDay();
const endDay = new Date(y, 0, endDays);
return (date >= startDay && date <= endDay);
};
关于Javascript:选择 html5 输入类型 ="week"范围内的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41817708/
我想获取当前周和上一周。我曾经使用下面的 php 来获取当前的一周。 $week = date("W"); 这会将周数返回为 50。 如果我像下面这样使用mysql select WEEK('2019
我想获取一个日期对象并对其进行格式化,以便输出结果如下所示: 2015: 23 - 30 July 格式字符串应该是这样的: YYYY: ii - jj MMMM 但是我应该为 ii 和 jj 输入什
我正在使用 Joda 时间,但我在设置星期几和一个月的星期几时遇到问题。假设如果我选择 2013 年 4 月 23 日,即(该月第 4 周的第 3 天)我想要下一个日期该月第 4 周的第 3 天,即
我想使用 PL/SQL 检查 calendar week 是否在两个日历周之间。 假设我要检查的日历周是 26。当我检查它是否在 24 和 27 之间 时,它应该返回 true。 这部分很简单,我可以
类似于this question ,但我的数据集有一个包含许多 ID 的附加列。每个 ID 都有一个可以追溯到固定时间范围的数据集,并且某些周可能会丢失数据 - 我想为缺失的周填写值。 例如,我想要这
我正在尝试弄清楚如何获取 SQL Server 2008 中过去/最近 30 周的每周平均 CHECK_AMOUNT。 我尝试过类似的方法(见下文),但我认为这是几个月而不是几周。 SELECT TO
我有一个每周列的 df,如下所示。我想将列索引更改为时间戳。这是我的 df.columns df.columns: Int64Index([201601, 201602, 201603, 201604
我有一个名为 stockins 的 table 和一个 column stock。因为我想在一周的第一天和一周的最后一天之间找到 max(stock)。 为此,我使用以下查询 select max(s
我目前有一个数据库来跟踪销售团队的销售情况。我有一个查询将提取每个销售员及其相关的总数,但我希望按周对此进行分割,然后如果可能的话在一周内汇总显示。 我当前使用的查询是: SELECT ROUND(S
我目前正在使用 bootstrap-datepicker ( https://github.com/eternicode/bootstrap-datepicker ),但希望能够选择日历中的整周(周一
如何在 php/sql 中显示当月的每周报告并将其标记为“第 1 周、第 2 周等”。 Week 1 下是第 1 周的记录,依此类推... 这是我当前的代码,它只显示每周的记录总数。 select c
你好 friend ,我有一个带有下一个上一个按钮的日历,当用户单击下一个按钮时,下周的日程将会出现,如果用户再次单击什么都不会发生,我想显示下 1 周内的日期 我的下一个按钮的 JavaScript
假设,我有一个表 ClientTrade,如下所示: ClientName , TradeDate , Quantity 我想在 Oracle PLSQL 中创建一个查询,它应该返回这样的结果: (这
我正在使用 $group by $week。它返回一年中的#week,但我想要开始日期,每周的结束日期而不是 示例: 当前结果: [{ "_id" : 20, "averageValu
我正在使用 $group by $week。它返回一年中的#week,但我想要开始日期,每周的结束日期而不是 示例: 当前结果: [{ "_id" : 20, "averageValu
Carbon 提供函数 weekOfYear 以整数形式获取一年中的第几周。但是,我需要反其道而行之,以根据年份 + 一年中的星期获得日期。 Carbon::now()->weekOfYear();
我有一个包含以下列的数据框: ID Scheduled Date 241 10/9/2018 423 9/25/2018 126 9/30/2018 123 8/13/2018 132 8/16/2
我需要让我的 Access 查询始终返回本周的星期一。我在 Google/StackOverflow 上看到了一些解决方案,但它们是用 SQL 编写的,而且我是创建 Access 查询的初学者(我正在
我正在寻找一个原生支持或可以轻松扩展以在各种“日期选择”模式下工作的 JavaScript 库,其中仅选择相关时间数据: 时间 = 20:00 日期 = 2020 年 1 月 1 日 日期时间 = 2
我需要一个以下列格式显示日期的查询: 过去 7 天内的日期 -> “一周前”过去 7 到 14 天内的日期 -> “两周前”等等…… 过去 30 天内的日期 -> “一个月前”过去 30 到 60 天
我是一名优秀的程序员,十分优秀!