如何使用moment.js计算两个日期空白周末之间的差异

阿马尔·阿尔萨尼

通过在 react 中使用 Moment.js,如何在没有周末的情况下获得两个日期之间的差异。这是我的代码

useEffect(() => {
    if (dates && dates.length > 1) {
      const startDate = dates[0];
      const endDate = dates[1];

      
      if (startDate && endDate) {
        const diff = endDate.startOf('day').diff(startDate.startOf('day'), 'days') + 1;
        
      }
//this will return to me the different between two dates with Weekend Days 
    }
  }, [dates]);
吉尔盖托

您可以在代码中实现此解决方案,如下所示:

import { useEffect, useState } from 'react';
import moment from 'moment';

import "./styles.css";

const dates = [moment('08-09-2021'), moment('08-16-2021')];

function workday_count(start,end) {
  const first = start.clone().endOf('week');
  const last = end.clone().startOf('week');
  const days = last.diff(first,'days') * 5 / 7;
  const wfirst = first.day() - start.day();
  if(start.day() === 0) --wfirst;
  const wlast = end.day() - last.day();
  if(end.day() === 6) --wlast;
  return wfirst + Math.floor(days) + wlast;
} // 

export default function App() {
  const [diff, setDiff] = useState(0);

  useEffect(() => {
    if (dates && dates.length > 1) {
      const startDate = dates[0];
      const endDate = dates[1];

      
      if (startDate && endDate) {
        const difference = workday_count(startDate.startOf('day'), endDate.startOf('day'));
        setDiff(difference); 
      }
    }
  }, []);
  return (
    <div className="App">
      <h1>Diff: {diff}</h1>
    </div>
  );
}

代码沙盒

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用PHP计算两个日期之间的差异?

如何计算两个日期时间之间的差异(秒)?

如何计算Django中两个日期之间的差异

使用数学计算两个日期之间的差异

如何使用moment.js获取年份,月份和日期中的两个日期之间的差异

如何计算两个日期之间的所有假期,不包括周末的假期-Excel

如何使用moment.js计算Javascript中两个日期之间的“工作日”数?

如何使用Joda-Time计算年份中两个日期之间的差异...等

计算两个日期之间的差异时如何使用连续法?

Moment JS如何设置两个日期之间等于?

如何使用moment.js列出两个日期之间的所有月份?

如何在JAVA中计算两个不同日期之间的工作日(周末除外)?

通过使用python导出周末和特定假期来计算两个日期之间的工作日数

如何使用JavaScript获取两个日期之间的差异

Moment.js提供了两个日期之间的不正确差异

Moment.js是否以dd:hh:mm:ss格式获取两个日期之间的差异?

如何计算Django中两个日期之间的平均差异?

如何计算oracle sql中两个日期之间HH:MM:SS的差异?

如何在Oracle 11g SQL中计算两个日期之间的差异

如何在ElasticSearch中计算两个日期时间之间的差异

如何从DatePicker小部件计算两个日期之间的差异

如何计算odoo 12中两个日期之间的差异

如何计算反应原生中{dd-mm-yyyy}格式的两个日期之间的差异

通过在两个日期之间使用javascript计算差异

使用Carbon和Blade计算两个日期之间的差异

使用react计算javascript中两个日期之间的差异

如何从excel中两个日期之间的日期列表中省略周末日期

使用Nuxt和@ nuxtjs / moment获取两个日期之间的差异

如何返回两个日期之间的周末日期列表