paul_vin Ответов: 1

Я хочу сравнить 3 даты в javascript


У меня есть 3 даты в javascript

1)
var vDate = document.getElementById('AppliedFor' + RowNo).value;

он дает дату как
"25/May/2018"


2)
var HDNSessionFromDate1 = document.getElementById('HDNSessionFromDate').value;

это дает мне дату как
"01/Apr/2018"


3)
var HDNSessionToDate = document.getElementById('HDNSessionToDate').value;

он дает дату как
"31/Mar/2019"


теперь я хочу проверить свою дату
vDate should be in between <pre>HDNSessionFromDate1 
и
HDNSessionToDate 


Что я уже пробовал:

I have 3 Dates in javascript

1)  <pre>var vDate = document.getElementById('AppliedFor' + RowNo).value;

он дает дату как
"25/May/2018"


2)
var HDNSessionFromDate1 = document.getElementById('HDNSessionFromDate').value;

это дает мне дату как
"01/Apr/2018"


3)
var HDNSessionToDate = document.getElementById('HDNSessionToDate').value;

он дает дату как
"31/Mar/2019"


теперь я хочу проверить свою дату
vDate should be in between <pre>HDNSessionFromDate1 
и
HDNSessionToDate 


теперь я конвертирую его в формат mm/dd/yyyy для этого у меня есть функция
GetNewFormat()

var temp = GetNewFormat(vDate);

here I am getting Date  as 05/25/2018

        temp = temp.split("/");
        var month = parseInt(temp[0]);
        var day = parseInt(temp[1]);
        var year =parseInt(temp[2]);


        var temp1 = GetNewFormat(HDNSessionFromDate1);

here I am getting Date  as "04/01/2018"

        temp1 = temp1.split("/");
        var month1 = parseInt(temp1[0]);
        var day1 = parseInt(temp1[1]);
        var year1 = parseInt(temp1[2]);

        var temp2 = GetNewFormat(HDNSessionToDate);

     here I am getting Date  as  "03/31/2019"       

        temp2 = temp2.split("/");
        var month2 =parseInt(temp2[0]);
        var day2 =parseInt(temp2[1]);
        var year2 =parseInt(temp2[2]);
        alert(year2);
        var vDate1 = new Date(year, month, day);
        alert(vDate1);


теперь у меня есть
var vDate1 = new Date(year, month, day);
        var vDate2=new Date(year1, month1, day1);
        var vDate3=new Date(year2, month2, day2);
        alert(vDate1);


        if (vDate1 >= vDate2 && vDate1 <= vDate3)
        {
            lblresult.innerHTML = "Please Enter Valid Date"
                lblresult.className = 'Red';
                document.getElementById('AppliedFor' + RowNo).focus();
                return false;
        }



but It Gives error at
var vDate1 = new Date(year, month, day);



I created Function which gives date in following format


<pre>function GetNewFormat(datevar) {
    var mon;
    var m1 = datevar.substring(3, 6);

    switch (m1.toLowerCase()) {
        case "jan":
            mon = 01;
            break;
        case "feb":
            mon = 02;
            break;
        case "mar":
            mon = 03;
            break;
        case "apr":
            mon = 04;
            break;
        case "may":
            mon = 05;
            break;
        case "jun":
            mon = 06;
            break;
        case "jul":
            mon = 07;
            break;
        case "aug":
            mon = 08;
            break;
        case "sep":
            mon = 09;
            break;
        case "oct":
            mon = 10;
            break;
        case "nov":
            mon = 11;
            break;
        case "dec":
            mon = 12;
            break;
    }
    datevar = mon + "/" + datevar.substring(0, 3) + datevar.substring(7);
    return datevar;
}

1 Ответов

Рейтинг:
0

User 7429338

Месяц, используемый для создания объекта Date (), должен быть 0-11 вместо 1-12.

Ссылка На Дату JavaScript[^]