Untuk merubah menit menjadi formatjam:menit
ataux jam, x menit
Dapatkan nilai 1 jam dalam menit, yakni dengan membagi menit dengan 60
Dapatkan sisa pembagian dari pembagian di atas.
Tentukan format yang kita inginkan misal
jam:menit
ataux jam, x menit
const padTo2Digits = (num) => num.toString().padStart(2, '0')
function toHoursAndMinutes(totalMinutes) {
const minutes = totalMinutes % 60;
const hours = Math.floor(totalMinutes / 60);
return `${padTo2Digits(hours)}:${padTo2Digits(minutes)}`;
}
function humanHourMinute(totalMinutes){
const minutes = totalMinutes % 60;
const hours = Math.floor(totalMinutes / 60);
const dMinutes = minutes !==0 ? ` ${minutes} menit`:''
return `${hours} jam${dMinutes}`
}
console.log(toHoursAndMinutes(90)); // 👉️ 01:30
console.log(toHoursAndMinutes(60)); // 👉️ 01:00
console.log(toHoursAndMinutes(115)); // 👉️ 01:55
console.log(humanHourMinute(90)); // 👉️ 1 jam 30 menit
console.log(humanHourMinute(60)); // 👉️ 1 jam
console.log(humanHourMinute(115)); // 👉️ 1 jam 55 menit
Disini kita menggunakan operator modulo (%
) untuk mendapatkan sisa menit.
padTo2Digits()
digunakan untuk menambahkan angka0
jika angkanya adalah satuan.
const padTo2Digits = (num) => num.toString().padStart(2, '0')
console.log(padTo2Digits(3)); // 👉️ '03'
console.log(padTo2Digits(6)); // 👉️ '06'
console.log(padTo2Digits(40)); // 👉️ '40'
Disini fungsinya agar yang dihasilkan olehtoHoursAndMinutes()
formatnya sama-sama 2 digit