2011-11-02 31 views
14

私は、ユーザーの誕生日と今日の日付を比較し、その間の日数を取得したいと考えています。代わりにJSの2つの日付を比較

function validateDOB(element) { 
var valid = false; 

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth() + 1; //do that January is NOT represented by 0! 
var yyyy = today.getFullYear(); 

if (dd < 10) { 
    dd = '0' + dd 
} 
if (mm < 10) { 
    mm = '0' + mm 
} 

var today = mm + '/' + dd + '/' + yyyy; 
alert(today); 
if (element.value != today) { 
    var days = 0; 
    var difference = 0; 

    Christmas = new Date("December 25, 2011"); 

    today = new Date(); 

    difference = today - Christmas 

    days = Math.round(difference/(1000 * 60 * 60 * 24)-1); 
    alert(days); 
    valid = true; 
} 

:彼らは入力した誕生日は、私がこのようなコードを持って、私のJSファイルでタイプテキスト

の入力ボックスに1987年12月2日の形態であろう"クリスマス"を使用して私は比較したいelement.value ...どのように私はこれを行うのですか?

私がdifference = today - element.valueを置くと、それは私に違いが表示されません。警告ボックスはNaNとなります。

+0

私、なし(http://stackoverflow.com/questions/492994/compare-2-dates-with-javascript) – Widor

+1

[JavaScriptで2つの日数を比較] @widorの可能重複質問は具体的です... – BigBug

+1

あなたの質問は具体的ですが、はい、その質問に答えます。 – Blender

答えて

141

私は軽量の日付のライブラリは、このようなものを処理するためにMoment.jsと呼ばれて書きました。

var birthday = moment('12/02/1987', 'MM-DD-YYYY'); 
var inputDate = moment(element.value, 'MM-DD-YYYY'); 
var diff = birthday.diff(inputDate, 'days'); 

http://momentjs.com/docs/#/displaying/difference/

+24

私はMoment.jsが大好きです。すごい仕事。 –

+5

モーメントは、書式設定や操作が古くなってしまいます。お見事。 – RevNoah

+4

モーメントは世界で最高のものです。 – jtromans

関連する問題