freeCodeCamp/curriculum/challenges/chinese/08-coding-interview-prep/rosetta-code/convert-seconds-to-compound...

3.2 KiB

title id challengeType videoUrl localeTitle
Convert seconds to compound duration 596fd036dc1ab896c5db98b1 5 将秒转换为复合持续时间

Description

任务:

实现一个功能:

取一个表示以秒为单位的持续时间的正整数作为输入(例如, 100 ),并返回一个字符串,该字符串显示分解为周,日,小时,分钟和秒的相同持续时间,如下所述(例如,“ 1 min, 40 sec “)。

证明它通过以下三个测试用例:

测试用例

输入号码输出数量
7259 2 hr, 59 sec
86400 1 d
6000000 9 wk, 6 d, 10 hr, 40 min

细节

应使用以下五个单位:
单元输出中使用的后缀转变
wk 1周= 7天
d 1天= 24小时
小时 hr 1小时= 60分钟
分钟 min 1分钟= 60秒
第二 sec
但是,仅包括输出中具有非零值的数量(例如,返回“ 1 d ”而不是“ 0 wk, 1 d, 0 hr, 0 min, 0 sec ”)。更大的单位优先于较小的单位尽可能(例如,返回2 min, 10 sec而不是1 min, 70 sec130 sec )模拟测试用例中显示的格式(从最大单位到最小单位的数量,以逗号+空格分隔;数值和单位每个数量用空格分隔)。


Instructions

Tests

tests:
  - text: <code>convertSeconds</code>是一个函数。
    testString: 'assert(typeof convertSeconds === "function", "<code>convertSeconds</code> is a function.");'
  - text: '<code>convertSeconds(7259)</code>应该返回<code>2 hr, 59 sec</code> 。'
    testString: 'assert.equal(convertSeconds(testCases[0]), results[0], "<code>convertSeconds(7259)</code> should return <code>2 hr, 59 sec</code>.");'
  - text: <code>convertSeconds(86400)</code>应返回<code>1 d</code> 。
    testString: 'assert.equal(convertSeconds(testCases[1]), results[1], "<code>convertSeconds(86400)</code> should return <code>1 d</code>.");'
  - text: '<code>convertSeconds(6000000)</code>应该返回<code>9 wk, 6 d, 10 hr, 40 min</code> 。'
    testString: 'assert.equal(convertSeconds(testCases[2]), results[2], "<code>convertSeconds(6000000)</code> should return <code>9 wk, 6 d, 10 hr, 40 min</code>.");'

Challenge Seed

function convertSeconds (sec) {
  // Good luck!
  return true;
}

After Test

console.info('after the test');

Solution

// solution required