23

私は次のものを持っています:

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 での日付のフォーマットに関するドキュメントはどこで見つけることができますか? また、私のために働きます。

4

7 に答える 7

5

文字列形式 (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
    }
于 2014-10-30T14:17:34.423 に答える
3

あなたの例のように、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あなたのコードは、あなたが持っている現在の変数でを見たいことを意味します。この場合、上記のコードは正しいです。( alert の含意に従って)変数がより前の日付であるmessageことを確認することが意図されている場合、元のコードは問題ありませんが、jQuery メソッドから取得しているデータは正しく解析されていません. セレクターがスニッフィングしている実際の HTML を提供していただけると助かります。fit_start_timefit_end_time.val()

于 2013-09-20T09:47:30.903 に答える
2

試してみてください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
}
于 2013-09-20T09:46:27.853 に答える
0

別の方法で試してください:

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');
}
于 2013-09-20T10:10:40.113 に答える
0

これはすでに にあります:

JQueryを使用した生年月日からの年齢

または代わりに、次のように 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));
于 2013-09-20T09:51:43.767 に答える