2014-01-14 6 views
0

자바 스크립트에서 두 날짜를 비교하려고합니다. 우선, 데이터베이스에서 가져 왔습니다. 데이터베이스에서 그것은 날짜 형식이지만 json 파일에서 보낸 후 그것은 단지 문자열 일 것 같아요.날짜와 날짜를 비교하는 자바 스크립트

두 번째는 javascript의 날짜 형식으로되어 있습니다. 이 스크립트는 자바 스크립트에서 찾았습니다 :

var todayAEJ = new Date(); 
var ddAEJ = todayAEJ.getDate(); 
var mmAEJ = todayAEJ.getMonth()+1; //January is 0! 
var yyyyAEJ = todayAEJ.getFullYear(); 
if(ddAEJ<10){ddAEJ='0'+ddAEJ} if(mmAEJ<10){mmAEJ='0'+mmAEJ} todayAEJ = ddAEJ+'-'+mmAEJ+'-'+yyyyAEJ; 

그리고 그것은 매력처럼 작동합니다. 13-01-2014

내가 이런 식으로 비교하는 시도 :

if(todayAEJ > val.date_End)... 

그러나 오늘의 일이 val.date_End의 일보다 큰 경우는 true를 돌려

다른 날짜는 다음과 같이한다. 달이 다른 경우이 양식을 사용할 수 없습니다. 이 경우 무엇을 할 수 있습니까? 대신 DD-MM-YYYYMM-DD-YYYY 형식을 사용할 수있는 경우

+0

자바 스크립트에서 타임 스탬프를 사용합니다. – Anubhav

답변

1
otherDate = '13-01-2014'; 
    myDate=myDate.split("-"); 
    var newDate=myDate[1]+","+myDate[0]+","+myDate[2]; 
    otherDateTimeStamp = new Date(newDate).getTime(); 
    todayAEJTimeStamp = new Date().getTime(); 
    if(todayAEJTimeStamp > otherDateTimeStammp){ 
     // your code 
    } 

당신도 사용할 수 있습니다 var newDate=myDate[1]+"/"+myDate[0]+"/"+myDate[2];

위의 코드를 사용하면 ... P를 해결할 수 있습니다. 멍청이!

Iinjoy ... 외에도 타임 스탬프 솔루션에서

+0

작동하지 않습니다. 내 Custorm 날짜가이 형식으로되어 있기 때문에라고 생각합니다. mm-dd-yy 대신 dd-mm-yy – Biribu

+0

@Biribu answer edited – Anubhav

0

당신은 Date.parse 사용할 수 있습니다

var todayAEJTimeStamp = Date.parse(todayAEJ);//Date parse needs `MM-DD-YYYY` format 

//if val.date_End is instance of Date 
if(todayAEJTimeStamp > val.date_End.getTime()) { 
    //your code here 
} 
+0

할 수 없습니다. 서버로부터 날짜를받습니다. 형식은 – Biribu

+0

입니다. 'val.date_End'는 무엇입니까? 끈? 데이터 개체? – Pinal

+0

json 파일의 문자열입니다. json 파일이 있고 각 행을 읽고 val에 저장 한 다음 각 속성 값을 읽습니다. – Biribu

0

을 당신은 microtime을 통해 그들을 비교해야

var date = new Date("11/21/1987 16:00:00"); 
var milliseconds = date.getTime(); // Compare this milliseconds 
0

, 난 당신이 JS에서 Date 객체로 재생하려는 경우 date.js를 사용하는 것이 좋습니다. Date 객체는 JS에서 매우 이상한 동작을하며,이 라이브러리가 유용합니다.

관련 문제