В настоящее время я хочу найти разницу между двумя датами в месяцах в LWC.

Я получаю разницу как «Нан».

Вот ссылка на игровую площадку

Ниже приведен скриншот для справки

enter image description here

3
Sahil Malhotra 30 Дек 2019 в 13:30

2 ответа

event.target.value — это строка, а не дата. Сначала вам нужно преобразовать значение в дату, а затем вычесть его.

import { LightningElement, track } from 'lwc';

export default class LightningExampleInputDate extends LightningElement {

    @track date1;
    @track date2;
    @track result;


    datehandler1(event) {
        this.date1 = new Date(event.target.value);
        console.log(event.target.value)
    }
    datehandler2(event) {
        this.date2 = new Date(event.target.value);
        console.log(event.target.value);
    }
    resulthandler() {
        this.result = this.date2 - this.date1; 
        /// this.result is in millisceonds you might need to convert it to days using below formula
        //this.result = (int) (this.result/ (1000*60*60*24));
        console.log(this.result);
    }
}

HTML

<template>
    <lightning-input type="date" onchange={datehandler1} name="input1" label="Enter a date" ></lightning-input>
      <lightning-input type="date" onchange={datehandler2} name="input1" label="Enter a date" ></lightning-input>
 
     <button onclick={resulthandler}>Check result </button>
    Result -- {result}

</template>

Playground Link

9
Rahul Gawale 3 Дек 2020 в 16:11
Спасибо @rahul. Это работает
 – 
Sahil Malhotra
30 Дек 2019 в 14:19
1
Пожалуйста, примите ответ, если он работает на вас.
 – 
Rahul Gawale
30 Дек 2019 в 14:20

Приведенный ниже код даст вам разницу между двумя датами в днях. Вы можете разделить окончательный результат на 30, тогда вы получите его через несколько месяцев.

This.startDate=event.target.value;//получить из onchange this.endDate=event.target.value;//получить из onchange

Var date1 = новая дата (this.startDate); var date2 = новая дата (this.endDate);

Var dateDiff=(date2.getTime()-date1.getTime())/1000;//разница в миллисекундах dateDiff=dateDiff/(606024); console.log('внутри даты различий:'+dateDiff);

0
Asif 7 Июл 2021 в 22:35