Advertisement
avr39ripe

jsTimeFunctions

Feb 7th, 2021 (edited)
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Study</title>
  6. </head>
  7. <body>
  8.     <script>
  9.         `use strict`
  10.         const secInMin = 60;
  11.         const minInHour = 60;
  12.         const secInHour = secInMin * minInHour;
  13.  
  14.         // 7. Написать функцию, которая принимает время (часы, минуты, секунды)
  15.         // и выводит его на экран в формате «чч:мм:сс». Если при вызове функции
  16.         // минуты и/или секунды не были переданы, то выводить их как 00.
  17.  
  18.         function timeFormat(hour=0, min=0, sec=0) {
  19.             const zero = '0';
  20.             if (hour <= 9) hour = (zero + hour);
  21.             if (min <= 9) min = (zero + min);
  22.             if (sec <= 9) sec = (zero + sec);
  23.             return `${hour}:${min}:${sec}`;
  24.         }
  25.         alert(timeFormat(+prompt("Enter hours"), +prompt("Enter minutes"), +prompt("Enter seconds")));
  26.  
  27.  
  28.         // 8. Написать функцию, которая принимает часы, минуты и
  29.         // секунды и возвращает это время в секундах.
  30.  
  31.         function timeToSeconds(hour=0, min=0, sec=0) {
  32.             return hour * secInHour + min * secInMin + sec;
  33.         }
  34.         alert(timeToSeconds(+prompt("Enter hours"), +prompt("Enter minutes"), +prompt("Enter seconds")));
  35.  
  36.  
  37.         // 9. Написать функцию, которая принимает количество секунд,
  38.         // переводит их в часы, минуты и секунды и возвращает в
  39.         // виде строки «чч:мм:сс».
  40.  
  41.         function secondsToTime(sec=0) {
  42.             let hour = Math.floor(sec / secInHour);
  43.             sec %= secInHour;
  44.             let minute = Math.floor(sec / secInMin);
  45.             sec %= secInMin;
  46.  
  47.             return timeFormat(hour, minute, sec);
  48.         }
  49.         alert(secondsToTime(+prompt("Enter seconds")));
  50.  
  51.         // 10. Написать функцию, которая считает разницу между датами.
  52.         // Функция принимает 6 параметров, которые описывают 2
  53.         // даты, и возвращает результат в виде строки «чч:мм:сс». При
  54.         // выполнении задания используйте функции из предыдущих 2-х заданий:
  55.         // сначала обе даты переведите в секунды,
  56.         // узнайте разницу в секундах, а потом разницу переведите
  57.         // обратно в «чч:мм:сс».
  58.  
  59.         function timeDiff(hour1, min1, sec1, hour2, min2, sec2) {
  60.             let seconds1 = timeToSeconds(hour1, min1, sec1);
  61.             let seconds2 = timeToSeconds(hour2, min2, sec2);
  62.             let secBegin;
  63.             let secEnd;
  64.  
  65.             seconds1 < seconds2 ? (secBegin = seconds1, secEnd = seconds2) : (secBegin = seconds2, secEnd = seconds1);
  66.  
  67.             return secondsToTime(secEnd - secBegin);
  68.         }
  69.  
  70.         let h1 = +prompt("Enter hours A");
  71.         let m1 = +prompt("Enter minutes A");
  72.         let s1 = +prompt("Enter seconds A");
  73.  
  74.         let h2 = +prompt("Enter hours B");
  75.         let m2 = +prompt("Enter minutes B");
  76.         let s2 = +prompt("Enter seconds B");
  77.  
  78.         alert(timeDiff(h1, m1, s1, h2, m2, s2));
  79.  
  80.     </script>
  81. </body>
  82. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement