0

このコードを試してみます

start_time = '08:15 AM'
end_time = '03:45 PM'
diff = end_time - start_time;

jqueryで時間を減算したいのは私だけです。私は次のようにphpで同じことを試しましたが、正しく実行されています。しかし、jqueryにはありません

$st = strtotime("07:30 AM");
$edt = strtotime("06:15 AM");
echo round(abs($st - $edt) / 60,2). " minute";
echo "<br>";

echo $timediff=($edt-$st)/60;
4

2 に答える 2

3

オブジェクトを使用しDate()ます。質問のように文字列を減算することはできません。

a = new Date(2012, 1, 2, 21, 1, 3, 5)
b = new Date(2012, 2, 3, 22, 2, 3, 5)
c = a - b // diff in milliseconds
于 2012-08-08T13:11:20.817 に答える
1

'08:00 AM''03:00 PM'は文字列であり、数値ではないため、互いに減算することはできません。

日付オブジェクトを使用して両方の時間の日付を作成し、それらを減算することにより、時間の違いを見つけることができます。

Dateコンストラクターのパラメーターは次のとおりです。

new Date(year, month, day, hours, minutes, seconds, milliseconds)

それで

var start_d = new Date(0,0,0,8),
    end_d = new Date(0,0,0,11),
    diff = end_d - start_d;

または、Dateのメソッドを使用して時刻を定義することもできます

var start_d = new Date(), // makes a new date object of current time
    end_d = new Date(), // same
    diff;

start.setHours(8);
end.setHours(11);

diff = end_d - start_d;

これにより、ミリ秒単位の差が返され、時間に変換されます。

diff_hours = diff / 1000 / 60 / 60;
于 2012-08-08T13:12:58.817 に答える