JavaScript: 日付文字列の比較

DateオブジェクトのgetTime()メンバで得られる値を比較する。小さい値が過去(昔)の値になる。


サンプル:"YYYY/MM/DD"形式の日付文字列を現在の日付と比較する
戻り値: -1: 過去の日付である, 1: 現在か未来の日付である

	function compare2now( datestr )
	{
		// 現在の日付&時刻を取得
		var today = new Date();
		// 時間を0:00にする
		today.setHours(0);
		today.setMinutes(0);
		today.setSeconds(0);
		today.setMilliseconds(0);
		
		// 文字列から年月日を抜き出し、数値型に変換
		var vYear = parseInt( datestr.substr( 0, 4  ),10);
		var vMonth = parseInt( datestr.substr( 5, 2 ),10 ) -1;
		var vDay = parseInt( datestr.substr( 8, 2 ),10 );
		var adate = new Date( vYear, vMonth, vDay );

		if( adate.getTime() < today.getTime() ){
			return -1;
		}else{
			return 1;
		}
	}