Ich habe Code zur Berechnung der Zeitdifferenz und es funktioniert gut. Ich muss die Methode ändern (tatsächlich habe ich eine weitere Methode unter bestimmten Bedingungen hinzugefügt). Die Methode, die ich in einer Bedingung hinzugefügt habe, wenn das Textfeld den Wert Istirahat
hat, und dann muss ich die Methode auf den Zeitunterschied ändern, den ich minus eine Stunde gemacht habe.So berechnen Sie den Zeitunterschied mit jQuery
Ich denke, es wird verwirrend sein, meine Erklärung ohne den Code zu sehen.
Hier ist der Code:
$(document).ready(function() {
var $time1 = $("#start");
var $time2 = $("#end");
var $diff = $("#jam_total");
function updateHours() {
var dtStart = new Date("7/20/2015 " + $time1.val());
var dtEnd = new Date("7/20/2015 " + $time2.val());
var stats1 = $("#status_check").val();
if(stats1!='ISTIRAHAT') {
var diff = ((dtEnd - dtStart))/1000;
} else if(stats1!='TANPA ISTIRAHAT') {
var diff = ((((dtEnd - dtStart))/1000) - 1);
}
var totalTime = 0;
if (diff > 60*60*12) {
totalTime = formatDate(60*60*12);
} else {
totalTime = formatDate(diff);
}
$diff.val(totalTime);
}
function formatDate(diff) {
var hours = parseInt(diff/3600) % 24;
var minutes = parseInt(diff/60) % 60;
var seconds = diff % 60;
return (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes);
}
$("#option2").on("change", function() {
if($time1.val() && $time2.val()) {
updateHours();
}
});
});
<input type="time" id="start" name="logintime"/>
<input type="time" id="end"name="logouttime" />
<br /><br />
<select name="option2" id="option2" onchange="Choose1(this)" style="float:left">
<option value="-">-</option>
<option value="istirahat">istirahat</option>
<option value="tanpa istirahat">tanpa istirahat</option>
</select>
<input type="text" name="status_check" size="8" readonly="readonly" id="status_check" style="text-transform:uppercase" />
<br /><br />
Total: <input type="text" id="jam_total" type="text" name="jam_total" size="18" readonly="readonly">
<br /><br />
<script>
function Choose1(data) {
document.getElementById("status_check").value = data.value;
}
</script>
Versuchen Sie, die jQuery-Funktion im Code wie folgt zu überprüfen:
else if (stats1 != 'TANPA ISTIRAHAT') {
var diff = ((((dtEnd - dtStart))/1000) - 1);
}
var diff = (((dtEnd - dtStart))/1000) - 1)
ist, was ich meine, dass Code gewonnen‘ Ich arbeite perfekt wie ich will. Was ich will ist wie folgt:
Bitte überprüfen Sie den Code im Inneren, wenn var diff = ((dtEnd - dtStart))/1000;
Ich möchte das Ergebnis dieses Codes minus eine Stunde sein.
https://stackoverflow.com/a/43192439/4229270 – Sinto
nicht das Problem hier verstanden. Was genau funktioniert nicht? – abhishekkannojia
der Code innerhalb der 'if else Bedingung '. Ich möchte während Bedingung machen {TANPA ISTIRAHAT} die Funktion wird die Funktion für die Berechnung der Zeit tun, aber es muss minus eine Stunde –