7

私は自分のニーズに合わせてうまく動作する次のものを持っています:

function funLoad(str1,str3,str4)
{

    var dym1 = str1.split("/");

    var d=new Date();
    var dym2 = d.getMonth() + 1 + "-" + d.getDate() + "-" + d.getFullYear() + " " + d.getHours() + ":" + d.getMinutes() + ":00";
    //var dym2 = "6 10 2013 09:00:00";

    var start = Date.parse(dym1[1] + "-" + dym1[0] + "-" + dym1[2] + " " + str3 + ":" + str4 + ":00"); 
    var end = Date.parse(dym2);

    return (start-end) / (1000*60*60);

}

$("#btn1").click(function(event){
    alert(funLoad($("#txt1").val(),$("#ddlHourTime").val(),$("#ddlMinuteTime").val()));
});

ここに jsfiddle があります: http://jsfiddle.net/QTVWd/8/

これはおそらく IE8 でしか動作しないことを理解していますが、私は誰もが IE8 しか使用しないイントラネット環境で開発しているので、それは問題ではありません。それを無視して、このスクリプトは選択された日付と時刻を取得し、それを現在の日付/時刻と比較して、時間を返します。これまでのところすべて順調です。

問題は、週末をカウントすることです。開始日と終了日に週末が含まれる場合、平日の時間のみをカウントし、週末を除外するにはどうすればよいですか? たとえば、開始日が金曜日で終了日が月曜日の場合、週末の 48 時間を除いて、金曜日と月曜日の時間のみをカウントする必要があります。

4

2 に答える 2