Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで秒を年日時間と分に変換する


問題

最初で唯一の引数として秒数を表す数値numを受け取るJavaScript関数を作成する必要があります。

次に、関数は、それらの秒に含まれる年、日、時、分に関する情報を含む文字列を作成して返す必要があります。明らかに含まれている場合はそうです。

この質問の目的上、すべての年が365日であると見なします

たとえば、関数への入力が-

の場合
const num = 5454776657;

その場合、出力は-

になります。
const output = '172 years, 353 days, 23 hours, 44 minutes and 17 seconds';

以下はコードです-

const findTime = (num) => {
   if(num < 1){
      return '0'
   };
   const qualifier = num => (num > 1 ? 's' : '')
   const numToStr = (num, unit) => num > 0 ? ` ${num}
   ${unit}${qualifier(num)}` : ''
   const oneMinute = 60;
   const oneHour = oneMinute * 60;
   const oneDay = oneHour * 24;
   const oneYear = oneDay * 365;
   const times = {
      year: ~~(num / oneYear),
      day: ~~((num % oneYear) / oneDay),
      hour: ~~((num % oneDay) / oneHour),
      minute: ~~((num % oneHour) / oneMinute),
      second: num % oneMinute,
   };
   let str = '';
   for (let [key, value] of Object.entries(times)) {
      str += numToStr(times[key], key)
   }
   const arr = str.trim().split(' ')
   const res = []
   arr.forEach((x, i) => {
      if (i % 2 === 0 && i !== 0) res.push(i === arr.length - 2 ? 'and' : ',')
      res.push(x)
   })
   return res.join(' ').replace(/\s,/g, ',')
}
console.log(findTime(5454776657));

出力

以下はコンソール出力です-

172 years, 353 days, 23 hours, 44 minutes and 17 seconds

  1. 時間を分と秒に変換するためのC++プログラム

    入力を時間として指定すると、タスクは時間数を分と秒に変換し、対応する結果を表示することです 時間を分と秒に変換するために使用される式は − 1 hour = 60 minutes    Minutes = hours * 60 1 hour = 3600 seconds    Seconds = hours * 3600 例 Input-: hours = 3 Output-: 3 hours in minutes are 180    3 hours in seconds are 10800 Input-: hours = 5

  2. 秒を時間、分、秒に変換するPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明:時間が与えられているので、秒を時間に、分を秒に変換する必要があります。 以下で説明するように、3つのアプローチがあります- アプローチ1:ブルートフォース方式 例 def convert(seconds):    seconds = seconds % (24 * 3600)    hour = seconds // 3600    seconds %= 3600    minutes = seconds // 60