Postingan lainnya
Bagaimana ya cara mencari selisih waktu dengan Jquery
Mau tanya temen2, saya sudah berhasil menghitung selisih waktu dengan Jquery, tapi saya ingin kasih kondisi jika jam 12:00 s/d jam 13:00 itu tidak di hitung, misalkan selisih waktu dari jam 10:00 s/d 14:00 itu kan selisihnya 04:00 tapi karena dia melewati jam 12:00 s/d jam 13:00 jadi selisihnya cuma 03:00 gimana ya caranya biar otomatis tidak menghitung, ini script saya untuk mencari selisih waktu :
$("input").keyup(function(){
var timeOfCall = $('#timeOfCall').val(),
timeOfResponse = $('#timeOfResponse').val(),
hours = timeOfResponse.split(':')[0] - timeOfCall.split(':')[0],
minutes = timeOfResponse.split(':')[1] - timeOfCall.split(':')[1];
minutes = minutes.toString().length<2?'0'+minutes:minutes;
if(minutes<0){
hours--;
minutes = 60 + minutes;
}
hours = hours.toString().length<2?'0'+hours:hours;
$('#delay').val(hours + ':' + minutes);
});
6 Jawaban:
Ada Mas ini HTMLnya :
<input type="time" id="timeOfCall" >
<input type="time" id="timeOfResponse">
<input type="time" id="delay">
Jawaban Terpilih
Saya bingung mas kalo AM & PM kalo inputanya text, mungkin ini bisa
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("input").keyup(function(){
var timeOfCall = $('#timeOfCall').val(),
timeOfResponse = $('#timeOfResponse').val(),
hours = timeOfResponse.split(':')[0] - timeOfCall.split(':')[0],
minutes = timeOfResponse.split(':')[1] - timeOfCall.split(':')[1];
if (timeOfCall <= "12:00:00" && timeOfResponse >= "13:00:00"){
a = 1;
} else {
a = 0;
}
minutes = minutes.toString().length<2?'0'+minutes:minutes;
if(minutes<0){
hours--;
minutes = 60 + minutes;
}
hours = hours.toString().length<2?'0'+hours:hours;
$('#delay').val(hours-a+ ':' + minutes);
});
});
</script>
</head>
<body>
<input type="text" id="timeOfCall" >
<input type="text" id="timeOfResponse">
<input type="text" id="delay">
</body>
</html>
coba ini barangkali sesuai
var start_actual_time = "01/01/2017 10:00";
var end_actual_time = "01/01/2017 14:00";
start_actual_time = new Date(start_actual_time);
end_actual_time = new Date(end_actual_time);
var hours_start = start_actual_time.getHours();
var minutes_start = start_actual_time.getMinutes();
var hours_end = end_actual_time.getHours();
var minutes_end = end_actual_time.getMinutes();
var hours = 0;
var minutes = 0;
for (i=hours_start; i <= hours_end; i++){
if(i != 12 && i != 13){
console.log(i);
hours = hours + 1;
minutes = minutes_end - minutes_start;
}
}
alert(hours + ' hours ' + minutes + ' minutes ');
mas @CodenameJR itu ko ketika di input di input text yang rumusnya gak berjalan tapi ketika pertama kali input : ini rumus berjalan, itu kenapa ya ?
Karena perhitungan rumusnya menggunakan dua inputan, kalau baru satu yang diinput, rumusnya belum jalan sepenuhnya mas.