私は次のものを持っています:
var fit_start_time = $("#fit_start_time").val(); //2013-09-5
var fit_end_time = $("#fit_end_time").val(); //2013-09-10
if(Date.parse(fit_start_time)>=Date.parse(fit_end_time)){
alert("Please select a different End Date.");
}
上記のコードは機能しません。上記に対する他の解決策はありますか?
JavaScriptでの日付のフォーマットに関するドキュメントはどこにありますか? に従って日付をフォーマットすることもできます。
とても簡単です:
if(new Date(fit_start_time) <= new Date(fit_end_time))
{//compare end <=, not >=
//your code here
}
2つのDate
インスタンスを比較すると、問題なく動作します。暗黙的にvalueOf
を呼び出して、Date
インスタンスを整数に強制します。これは、すべての比較演算子を使用して比較できます。まあ、100%正確にするために:Date
インスタンスはNumber
型に強制されます。JSは整数または浮動小数点数を知らないため、それらはすべて符号付き64ビットIEEE 754倍精度です浮動小数点数。
あなたの例のように、_fit_start_time
_は_fit_end_time
_より遅くありません。
他の方法で試してください:
_var fit_start_time = $("#fit_start_time").val(); //2013-09-5
var fit_end_time = $("#fit_end_time").val(); //2013-09-10
if(Date.parse(fit_start_time) <= Date.parse(fit_end_time)){
alert("Please select a different End Date.");
}
_
更新
あなたのコードは、あなたが持っている現在の変数でalert
を見たいことを暗示しています。この場合、上記のコードは正しいです。 (アラートmessage
の意味に従って)意図する場合は、それらの_fit_start_time
_変数がbeforeである日付であることを確認することです_fit_end_time
_、元のコードは問題ありませんが、jQuery .val()
メソッドから取得するデータは正しく解析されません。セレクターがスニッフィングしている実際のHTMLを提供していただければ助かります。
文字列形式(mm-dd-yyyy)の日付を比較します。
var job_start_date = "10-1-2014"; // Oct 1, 2014
var job_end_date = "11-1-2014"; // Nov 1, 2014
job_start_date = job_start_date.split('-');
job_end_date = job_end_date.split('-');
var new_start_date = new Date(job_start_date[2],job_start_date[0],job_start_date[1]);
var new_end_date = new Date(job_end_date[2],job_end_date[0],job_end_date[1]);
if(new_end_date <= new_start_date) {
// your code
}
new Date(obj).getTime()
で試してください
if( new Date(fit_start_time).getTime() > new Date(fit_end_time).getTime() )
{
alert(fit_start_time + " is greater."); // your code
}
else if( new Date(fit_start_time).getTime() < new Date(fit_end_time).getTime() )
{
alert(fit_end_time + " is greater."); // your code
}
else
{
alert("both are same!"); // your code
}
別の方法で試してください:
var start_date = $("#fit_start_time").val(); //05-09-2013
var end_date = $("#fit_end_time").val(); //10-09-2013
var format='dd-MM-y';
var result= compareDates(start_date,format,end_date,format);
if(result==1)/// end date is less than start date
{
alert('End date should be greater than Start date');
}
OR:
if(new Date(start_date) >= new Date(end_date))
{
alert('End date should be greater than Start date');
}
これは既にあります:
または、uは次のようにDate.parse()を使用できます
var date1 = new Date("10/25/2011");
var date2 = new Date("09/03/2010");
var date3 = new Date(Date.parse(date1) - Date.parse(date2));