Implementar una función que:
toma un número entero positivo que representa una duración en segundos como entrada (por ejemplo,100
), y devuelve una cadena que muestra la misma duración descompuesta en semanas, días, horas, minutos y segundos como se detalla a continuación (por ejemplo, " 1 min, 40 sec
"). Demostrar que pasa los siguientes tres casos de prueba:
Casos de prueba
número de entrada | número de salida |
---|---|
7259 | 2 hr, 59 sec |
86400 | 1 d |
6000000 | 9 wk, 6 d, 10 hr, 40 min |
Detalles
Se deben usar las siguientes cinco unidades:unidad | sufijo utilizado en la salida | conversión |
---|---|---|
semana | wk | 1 semana = 7 días |
día | d | 1 día = 24 horas |
hora | hr | 1 hora = 60 minutos |
minuto | min | 1 minuto = 60 segundos |
segundo | sec |
1 d
" y no " 0 wk, 1 d, 0 hr, 0 min, 0 sec
"). Dé prioridad a las unidades más grandes sobre las más pequeñas como sea posible (p. ej., devolver 2 min, 10 sec
y no 1 min, 70 sec
o 130 sec
) Imitar el formato que se muestra en los casos de prueba (cantidades ordenadas de unidad mayor a menor y separadas por comas + espacio; valor y unidad de cada cantidad separada por espacio). convertSeconds
es una función.
testString: 'assert(typeof convertSeconds === "function", "convertSeconds
is a function.");'
- text: 'convertSeconds(7259)
debe devolver 2 hr, 59 sec
.'
testString: 'assert.equal(convertSeconds(testCases[0]), results[0], "convertSeconds(7259)
should return 2 hr, 59 sec
.");'
- text: convertSeconds(86400)
debe devolver 1 d
.
testString: 'assert.equal(convertSeconds(testCases[1]), results[1], "convertSeconds(86400)
should return 1 d
.");'
- text: 'convertSeconds(6000000)
deben devolver 9 wk, 6 d, 10 hr, 40 min
convertSeconds(6000000)
9 wk, 6 d, 10 hr, 40 min
.'
testString: 'assert.equal(convertSeconds(testCases[2]), results[2], "convertSeconds(6000000)
should return 9 wk, 6 d, 10 hr, 40 min
.");'
```