Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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.