Cálculo da diferença de dias entre duas datas React js

Gostaria de saber como calcular duas datas que vão sendo inseridas através de um formulario em React Js
Meu código é algo assim,

export default class Visualizar extends Component {
  constructor(props) {
    super(props);
    this.state = {
      data_aquis: this.props.data_aquis,
      data_fim: this.props.data_fim,
      diasFaltantes: this.props.diasFaltantes,
      item: []
    }
  }
  onSubmit = (e) => {
    e.preventDefault();
    const { data_aquis, data_fim, diasFaltantes } = this.state;
    let obj = {
      "data_aquis": data_aquis,
      "data_fim": data_fim,
     "diasFaltantes": diasFaltantes
    }

    api.enviar(obj)
      .then(res => console.log(res.data));
  }

  exibirDados() {
    api.pegar(this.props.match.params.id)
      .then(response => {
        this.setState({ item: response.data });
        console.log(response.data)
      })
      .catch(() => { console.log('Erro ao recuperar os dados'); });
  }
  render() {
    return (
      <div className="container" style={{ marginTop: 30 }}>
        {this.state.item.map((item, _id) => {
          return (
            <form id="formulario" onSubmit={this.onSubmit} key={item._id} >
              <hr /><br />
              <div className="row">

                <label>data_aquis</label>
                <input className="form-group" id="data_aquis"
                  onChange={this.onChange} value={item.data_aquis} />

                <label>fim</label>
                <input className="form-group" id="data_fim"
                  onChange={this.onChange} value={item.data_fim} />

                <label>diasFaltantes</label>
                <input className="form-group" id="diasFaltantes"
                  onChange={this.onChange} value={item.diasFaltantes} />
              </div>
            </form>
          )
        }
        )}
      </div>
    )
  }
}

Cadastro eles com um input formatado “##/##/####” porém eu preciso de uma função que possa fazer o calculo do mes da data_aquis - data_fim e que guarde dentro do diasFaltantes, tudo isso convertido em Dias. Desde já eu agradeço!

Olá @gustavo_scarpim, exemplos:

Sem lib:

const date1 = new Date('7/13/2010');
const date2 = new Date('12/15/2010');
const diffTime = Math.abs(date2 - date1);
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); 
console.log(diffDays);

Com a lib date-fns: https://date-fns.org/v1.28.5/docs/differenceInDays

Com a lib Moment: https://stackoverflow.com/questions/36600687/moment-js-two-dates-difference-in-number-of-days

1 curtida