私は25-02-2013のような形式の日付で使用する入力フィールドから文字列を取得しました。今私は今日の日付と文字列を比較したいと思います。私は、文字列が古くなったか、それとも新しい日付かを知りたい。文字列とjavascriptの今日の日付とを比較する
提案がありますか?
私は25-02-2013のような形式の日付で使用する入力フィールドから文字列を取得しました。今私は今日の日付と文字列を比較したいと思います。私は、文字列が古くなったか、それとも新しい日付かを知りたい。文字列とjavascriptの今日の日付とを比較する
提案がありますか?
<script type="text/javascript">
var q = new Date();
var m = q.getMonth()+1;
var d = q.getDay();
var y = q.getYear();
var date = new Date(y,m,d);
mydate=new Date('2011-04-11');
console.log(date);
console.log(mydate)
if(date>mydate)
{
alert("greater");
}
else
{
alert("smaller")
}
</script>
あなたの日付入力はフォーマット "25-02-2013" である場合は、スプリットを使用してDD、MM及びYYYYに文字列を分割することができます()メソッド:
var date_string="25-02-2013";
var day = parseInt(date_string.split("-")[0]);
var month= parseInt(date_string.split("-")[1]);
var year = parseInt(date_string.split("-")[2]);
のparseInt()関数文字列を整数にするために使用されます。 3つの変数は、Date()オブジェクトのプロパティと比較できます。
Javascriptを使用してDate
オブジェクトがあなたのために簡単になります。しかし、Date
オブジェクトはあなたのフォーマットをサポートしていないので、入力文字列(例:25-02-2013)を ' - 'で解析してdate
month
とyear
にしてからDate
オブジェクトを比較する必要があると思います。受け入れ答えから
var x ='23-5-2010';
var a = x.split('-');
var date = new Date (a[2], a[1] - 1,a[0]);//using a[1]-1 since Date object has month from 0-11
var Today = new Date();
if (date > Today)
alert("great");
else
alert("less");
正確な日付のcomparsion、解決バグ
var q = new Date();
var m = q.getMonth();
var d = q.getDate();
var y = q.getFullYear();
var date = new Date(y,m,d);
mydate=new Date('2011-04-11');
console.log(date);
console.log(mydate)
if(date>mydate)
{
alert("greater");
}
else
{
alert("smaller")
}
あなたは日付が別のものよりも大きいかどうかを確認するために、単純な比較演算子を使用することができます。
var today = new Date();
var jun3 = new Date("2016-06-03 0:00:00");
if(today > jun3){
// True if today is on or after June 3rd 2016
}else{
// Today is before June 3rd
}
2番目の変数に0:00:00
を追加した理由は、それがなければUTC (グリニッジ標準時)、望ましくない結果をもたらす可能性があります。時間を0に設定すると、ユーザーのローカル深夜と比較されます。
日付の比較
- をしている間、日付の両方が正確な結果を得るために同じ形式である必要があります覚えておく必要がある最も重要なポイント。
- 日付の時刻形式を使用していて、日付の比較のみを行う場合は、関連する形式で変換する必要があります。
ここに私が使用したコードがあります。
var dateNotifStr = oRecord.getData("dateNotif");
var today = new Date();
var todayDateFormatted = new Date(today.getFullYear(),today.getMonth(),today.getDate());
var dateNotif=new Date(dateNotifStr);
var dateNotifFormatted = new Date(dateNotif.getFullYear(),dateNotif.getMonth(),dateNotif.getDate());
これはさらに最適化することができますが、これは均一な形式で日付を作成するために必要なことを明確にするはずです。
http://stackoverflow.com/a/8215648/1520671 –