在 JavaScript 中将秒转换为年天小时和分钟
问题
我们需要编写一个JavaScript函数,它接受一个数字num,它代表秒数作为第一个也是唯一的参数。
然后我们的函数应该构造并返回一个字符串,其中包含这些秒中包含的年、日、小时和分钟的信息,显然如果包含的话。
对于这个问题,我们认为所有年份都有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
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短