reactjs - 如何使用reactjs计算所选日期范围内的星期二数?
问题描述
我将从日历中选择日期范围,例如我将选择从6 月 10 日到 7 月 26 日的日期范围。我需要计算所选范围内的星期二和星期四的数量
解决方案
您可以使用 moment 库(http://momentjs.com ,您可以使用npm install moment将其添加到项目中,然后将其导入到您需要的组件中)。
countDays = () => {
let { date1, date2 } = this.state;
let tuesdays = 0,
thursdays = 0;
date1 = moment(date1);
date2 = moment(date2);
let fromDayWeek = date1.isoWeeks();
let toDayWeek = date2.isoWeeks();
let fromDay = date1.isoWeekday();
let toDay = date2.isoWeekday();
let weekIteration = toDayWeek - fromDayWeek;
let j = 1,
daysOfWeek = 7;
for (let i = 0; i <= weekIteration; i++) {
// iterating throught days - first day = 1 = monday, last day = 7 = sunday
j = i === 0 ? fromDay : 1; // we want to start counting for the first selected date
daysOfWeek = i === weekIteration - 1 ? toDay : 7; // we want to end counting for the last selected date
for (j; j <= daysOfWeek; j++) {
// if it's tuesday, it is 2 day of week
if (j === 2) {
tuesdays++;
}
// if it's thursday, it is 4 day of week
if (j === 4) {
thursdays++;
}
}
}
return {
tuesdays,
thursdays
};
};
在这里查看一个完全有效的解决方案: https ://codesandbox.io/s/x2w6nq6npq
推荐阅读
- python - 如果其他列是 Pandas 中的 NaN,则删除基于多列的重复行
- sql - 在 SQL 的表中选择不包含模式的列
- mysql - 从文件恢复崩溃的 Mysql 数据库
- javascript - I'm trying to get the parent of the parent (div) of the li-element which I click
- python - Python Plotly - 多个 YAXIS 图例布局
- angularjs - 将变量包含到angularjs中的模板中
- opencv - OpenCV recoverPose 从基本矩阵 E
- sql - 如何使用 max(timestamp) 查询最新的 N 条记录,其中项目类型在 Azure SQL 中不重复?
- python-3.x - 在保留 python 的同时删除前缀和后缀
- ios - Amazon Transcribe 中“.caf”文件的“媒体格式”