私は時間の開始と終了の2つの入力フィールドを持っていて、相違のための別のフィールドがCall Durationです。私は原因「AM/PM」フォーマットに結果を得るhardtimeを持っていますhh:mm:ssの時差を単純なjavascript/jqueryで計算する
<div class="inline_divider">
<label for="form_qa_startcall" class="qaw_form_label3">Start of Call</label>
<input type="text" id="form_qa_startcall" class="qaw_form_input3" placeholder="eg. 11:36:47 PM" maxlength="11">
</div>
<div class="inline_divider">
<label for="form_qa_endcall" class="qaw_form_label3">End of Call</label>
<input type="text" id="form_qa_endcall" class="qaw_form_input3" placeholder="eg. 11:46:47 PM" maxlength="11">
</div>
<div class="inline_divider">
<label for="form_qa_callduration" class="qaw_form_label3">Call Duration</label>
<input type="text" id="form_qa_callduration" class="qaw_form_input3" placeholder="eg. 00:01:10" maxlength="8">
</div>
0時21分03秒=フィールド上の結果はこの形式になりたいです。 私はこれと同様の質問を見つけましたが、彼は "momentjs"を使用しています。できるだけ多くのプラグインを使用したいとは思っていません。単純なjavascriptやjqueryのプラグインを使用したくないのです。これは私が働いているコードです、私は結果(0:21:3)を得ていますが、私は時、分、秒(00:21:03)の2桁にする必要があります。
$("#form_qa_endcall").on('keyup',function(){
var callStart = $('#form_qa_startcall').val();
var callEnd = $('#form_qa_endcall').val();
var timeStart = new Date("01/01/2007 " + callStart);
var timeEnd = new Date("01/01/2007 " + callEnd);
function datediff(fromDate,toDate,interval) {
var second=1000, minute=second*60, hour=minute*60, day=hour*24, week=day*7;
fromDate = new Date(fromDate);
toDate = new Date(toDate);
var timediff = toDate - fromDate;
if (isNaN(timediff)) return NaN;
switch (interval) {
case "years": return toDate.getFullYear() - fromDate.getFullYear();
case "months": return (
(toDate.getFullYear() * 12 + toDate.getMonth())
-
(fromDate.getFullYear() * 12 + fromDate.getMonth())
);
case "weeks" : return Math.floor(timediff/week);
case "days" : return Math.floor(timediff/day);
case "hours" : return Math.floor(timediff/hour);
case "minutes": return Math.floor(timediff/minute);
case "seconds": return Math.floor(timediff/second);
default: return undefined;
}
}
var seco = datediff(timeStart, timeEnd, 'seconds') % 60;
var minu = datediff(timeStart, timeEnd, 'minutes') % 60;
var hour = datediff(timeStart, timeEnd, 'hours');
$('#form_qa_callduration').val(hour + ":" + minu + ":" + seco);
});
試したHTMLとコードを表示してください。 – trincot
'new date(new date() - new Date()).toISOString()。split(" T ")[1] .split("。 ")[0]' – dandavis
上記の「中間日」は、古い日付と新しい日付の値... – dandavis