2016-07-13 7 views
0

MMM-YYYY 형식으로 만 월과 연도를 전달하여 자바 스크립트를 사용하여 날짜가 지정된 날짜보다 크거나 작음을 확인할 수있는 방법은 무엇입니까? 예를 들어날짜가 지정된 날짜보다 큰지 확인하십시오.

:

사용자가 년 드롭 다운에서 개월 드롭 다운 메뉴에서 7월2016을 선택하자, 지금은 선택된 값이을보다 /보다 큰 것을 확인할 수있는 방법

2016 년 6 월.

나는 세션 변수 ("월"), 세션 ("yrs")으로 입력을 가져 왔습니다.

내가 해봤 다음하지만 아무 일도 일어나지 않는다 :이 링크를 Compare two dates with JavaScript 겪었어요하지만 내 조건에 대한 해결책을 찾을 수 없습니다

var d1 = new Date('JUN-2016') 
var d2 = new Date(<% =session("month")+"-"+session("yrs") %>)) 
if(d2.getTime() > d2.getTime()) 
{ 
alert('Greater than jun 2016'); 
} 
else 
{ 
alert('Less than jun 2016'); 
} 

.

이 응용 프로그램은 VB에서 개발되었으므로 이에 대한 지식은별로 없습니다.

어떻게 해결할 수 있습니까?

사전에

감사를 제안하십시오.

+0

은 당신이 지금까지 시도 않았다 Date 객체로 변환? – niyasc

+0

시도해 보았고 fatser 응답을 허용하는 코드를 추가하십시오 – RDardelet

답변

0

이 시도 -

var x = new Date('JUN-2016'); 
var y = new Date('MAY-2016'); 
console.log(+x < +y); 
console.log(+x > +y); 
console.log(+x === +y); 
+0

ok try this –

+0

나는 이것을 시도했습니다 : var d1 = new Date ('JUN-2016'); var d2 = new Date (<% = 세션 ("월") + '-'+ 세션 ("yrs") %>)); if (d2.getTime()> d2.getTime()) { 경고 ('jun 2016'보다 큼); }하지만 거기에 sytax 오류가 내가 어디로 도와 주실 수 있습니다 개월과 년 conceckating 오전 –

+0

어떤 구문 오류가 있습니까? –

0

당신은 단순한 날짜의 비교해야한다.

http://www.w3schools.com/js/js_date_methods.asp 어쩌면이 코드가 도움이 될 수 있습니다 : 여기에 "날짜"에 대한 자세한 내용을 읽어 보시기 바랍니다

var day = 1; // Since you don't care about the day just use the first day 
var month = session("month"); // Use the number of the month instead of the name 
var year = session("yrs"); 
var dateJune = Date.parse("2016-07-01"); // June 
var dateInput = Date.parse(year + "-" + month + "-" + day); 
// Compare dates 
if (dateJune > dateInput) { 
    // The input is before june 
} else if (dateJune < dateInput) { 
    // The input is after june 
} else { 
    // It is june 
} 

당신은 날짜를 구문 분석 할 수있는 유효한 날짜 형식이 필요합니다. 선택 상자에서 "JUN"을 얻지 않고 대신 월의 번호를 얻는 것이 좋습니다. 선택 상자는 다음과 같이한다 :

<select> 
<option value="01">Jan</option> 
<option value="02">Feb</option> 
... 
</select> 

을이이 달 변수가있을 수 있습니다 당신은 당신이 다음 문자열 값을 알고있는 경우에 당신을 위해 수를 계산하는 기능을 사용할 수있는 옵션이 아닌 경우 :

function (nameOfMonth) { 
    switch (nameOfMonth) { 
    case 'Jan': 
     return "01"; 
    case 'Feb': 
     return "02"; 
    .... 
    } 
} 
+0

입력 날짜를 Mon-yyyy 형식으로 입력하십시오. 내 질문을 편집하고 코드를 추가했습니다 :( –

+0

@AlinaAnjum 내 대답을 편집했습니다. 유효한 날짜 형식을 구문 분석 할 수 있어야합니다, 그렇지 않으면 작동하지 않습니다.이 도움이되기를 바랍니다. – Kamelkent

0

먼저

// convert to a parseable date string: 
    var dateStrA = "28/12/2013 16:20:22".replace(/(\d{2})\/(\d{2})\/(\d{4})/,  "$2/$1/$3"); 
    var dateStrB = "28/12/2013 16:20:11".replace(/(\d{2})\/(\d{2})\/(\d{4})/,  "$2/$1/$3"); 

    // now you can compare them using: 
     new Date(dateStrA) > new Date(dateStrB); 
+0

월 - 일 형식으로 날짜를 입력하는 방법 내 질문을 편집하고 코드를 추가했습니다. 도와주세요 : ( –

0
var date1 = Math.ceil(Math.abs(first date)/(1000 * 3600 * 24)); 
var date2 = Math.ceil(Math.abs(second date)/(1000 * 3600 * 24)); 
if(date1 > date2) 
    alert("date1"); 
else 
    alert("date2"); 
+0

입력 날짜를 월 - yyyy 형식으로 입력합니다. 내 질문을 편집하고 추가했습니다. 코드, 제발 도와주세요 :( –

+0

이 함수를 사용해보십시오 getFormattedDate (입력) { var pattern = /(.*??)\/(.*?)$/; var result = input.replace (pattern, function (match, p1, p2) { var months = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct' (p1-1)]; }); (12); 알림 (결과); } getFormattedDate ("1/2013"); –

관련 문제