2014-01-15 2 views
1

현재 날짜를 javascript의 두 주어진 날짜와 비교하려고합니다. 날짜를 YYYY-mm-dd 형식으로 변환 한 다음 날짜를 비교하고 있습니다. 그러나 나는 이상한 것을 관찰하고있다. 내가 DATE2을 경고하기 위해 노력하고 이 내 코드입니다 자바 스크립트자바 스크립트의 날짜 변환 및 날짜 비교

function getyear() 
{ 
    var year=document.getElementById('ddlyear').value; 
    var today = new Date(); 
    var dd = today.getDate(); 
    var mm = today.getMonth()+1; //January is 0! 

    var yyyy = today.getFullYear(); 
    if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} var today = yyyy+'-'+mm+'-'+dd; 
    document.getElementById('hdndate').value = today; 
    var date1=document.getElementById('hdndate').value; 
    alert(date1); 

    var date2=new Date("2014-01-01"); 
    var dd = date2.getDate(); 
    var mm = date2.getMonth()+1; //January is 0! 

    var yyyy = date2.getFullYear(); 
    if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} var date2 = yyyy+'-'+mm+'-'+dd; 

    alert(date2); 
    var date3=new Date("2014-12-31"); 
    var dd = date3.getDate(); 
    var mm = date3.getMonth()+1; //January is 0! 

    var yyyy = date3.getFullYear(); 
    if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} var date3 = yyyy+'-'+mm+'-'+dd; 

    alert(date3); 

    if(year==1) 
    { 
     alert("January 2014-December 2014"); 

     if (date1 > date2 && date1 < date3){ 
     alert('Correct Date') 
    } 
    else{ 
     alert('Out Side range !!') 
    } 
    } 
    else if(year==2) 
    { 
     alert("January 2015-December 2015"); 

    } 
} 

date3 난 내가 을 DATE2 및 date3의 OUPUT는 2013년 12월 31일 및 2014-12되어 준 날짜를 받고 있지 않다 -30. 왜 이런 일이 일어나는지 모르겠다.이 점에 대해 제발 도와주세요. 나는 JS에 처음 온 사람이다.

+0

가능한 중복 http://stackoverflow.com/questions/542938/how-do-i-get-the- 2 일 간의 날짜 수 - 자바 스크립트) –

답변

0

ISO 표준에 따라 날짜를 잘못 파싱 한 것과 관련하여 여기에 나와있는 답변을 참조하십시오. 중복으로 표시 할 수 없으므로 여기를 참조하십시오. 당신이 발행하는 이유는 같습니다. 당신이

date.toISOString(); 

을 선택하면 당신은 날짜의 ISO 형식이 올바른지 볼 수 있지만 Date 객체는 기본적으로 현재의 시간대에서 구문 분석 된 날짜를 표시합니다.

Stack Overflow Post: javascript-date-parse

[I 자바 스크립트에서 두 날짜 사이의 일 수를 어떻게합니까?] (의