2017-01-09 12 views
0

今の私の機能は 解析日付値

if(dateCheck("02.05.2013","17.09.2013","02.07.2013")) 
    alert("Availed"); 
else 
    alert("Not Availed"); 

function dateCheck(from,to,check) { 

    var fDate,lDate,cDate; 
    fDate = Date.parse(from); 
    lDate = Date.parse(to); 
    cDate = Date.parse(check); 

    if((cDate <= lDate && cDate >= fDate)) { 
     return true; 
    } 
    return false; 
} 

は常に、falseを返すサーバ側2013年2月9日 これらの値を解析するための適切なフォーマットを提案してくださいからこの形式で日付を取得するのですか?

+0

日付にミリ秒を返す 'getTime()'メソッドを使用して参照をたどります。そこからはミリ秒を比較でき、より高いミリ秒はより新しい日付を意味します – Laazo

+0

あなたは何を持っていますか?それはすでにエポックの値です – Jorg

+0

常にfalseを返す、サーバー側からこの形式の日付を取得する "02.05.2013" –

答えて

1

日付オブジェクトをjavascriptに解析する必要があります。 This linkは、javascriptに日付コンストラクタのアイデアを与えることができます。コンストラクタnew Date(year,month,date)を持っています。その形式でdateStringを解析します。コード

if(dateCheck("02.05.2013","02.09.2013","02.07.2013")) 
 
     alert("Availed"); 
 
    else 
 
     alert("Not Availed"); 
 
    
 
    function dateCheck(from,to,check) { 
 
    
 
     var fDate,lDate,cDate; 
 
     fDate = new Date(from.split(".")[2],from.split(".")[1],from.split(".")[0]); 
 
     
 
     lDate = new Date(to.split(".")[2],to.split(".")[1],to.split(".")[0]); 
 
     cDate = new Date(check.split(".")[2],check.split(".")[1],check.split(".")[0]); 
 
    \t 
 
    
 
    
 
     if((cDate<= lDate) && (cDate >= fDate)) { 
 
      return true; 
 
     } 
 
     return false; 
 
    }

jsFiddle

1

Why does Date.parse give incorrect results?のように見えます。 日付が02.09として明確ではありません。 9月の2月または2月9日である可能性があります。詳しくは、参照先の記事を参照してください。

0
if(dateCheck("02/05/2013","02/09/2013","02/06/2013")) 
    alert("Availed"); 
else 
    alert("Not Availed"); 

function dateCheck(from,to,check) { 

    var fDate,lDate,cDate; 

    fDate = convertDate(from); 
    lDate = convertDate(to); 
    cDate = convertDate(check); 

    if((cDate <= lDate && cDate >= fDate)) { 
     return true; 
    } 
    return false; 
} 


function convertDate(dateStr) { 
    var parts = dateStr.split("/"); 
    return new Date(parts[2], parts[0], parts[1] - 1); 
} 
+0

変更内容を説明してください – cske