Dans ce kata, vous devez écrire une fonction capable de convertir un nombre de secondes en un format d'heure lisible par un humain.
Le format attendu est :
HH:MM:SS
où :
- HH = heures
- MM = minutes
- SS = secondes
Chaque valeur doit être complétée avec des zéros à gauche afin d'avoir exactement deux chiffres.
🔗 Kata Codewars
https://www.codewars.com/kata/52685f7382004e774f0001f7
• • •
Écrire une fonction qui :
- prend en entrée un entier positif ou nul représentant un nombre de secondes
- retourne une chaîne de caractères au format
HH:MM:SS
• • •
Les valeurs doivent respecter les plages suivantes :
| Unité | Format | Plage |
|---|---|---|
| Heures | HH | 00 – 99 |
| Minutes | MM | 00 – 59 |
| Secondes | SS | 00 – 59 |
La valeur maximale possible est :
359999 secondes
Ce qui correspond à :
99:59:59
• • •
Pour convertir un nombre de secondes en heures, minutes et secondes :
- Calculer les heures :
heures = secondes / 3600
- Calculer les minutes restantes :
minutes = (secondes % 3600) / 60
- Calculer les secondes restantes :
secondesRestantes = secondes % 60
Chaque valeur doit ensuite être formatée sur deux chiffres.
• • •
Entrée :
0
Résultat :
00:00:00
Entrée :
5
Résultat :
00:00:05
Entrée :
60
Résultat :
00:01:00
Entrée :
86399
Résultat :
23:59:59
Entrée :
359999
Résultat :
99:59:59
• • •
HumanTimeFormat.MakeReadable(86399);Résultat :
23:59:59
• • •
Les tests unitaires sont disponibles dans le projet :
Les tests doivent vérifier notamment :
- la conversion correcte des secondes
- les cas limites (
0,359999) - le remplissage avec des zéros à gauche
- les valeurs intermédiaires
• • •
Ce kata permet de travailler plusieurs notions importantes :
- manipulation du temps
- division entière et modulo
- formatage de chaînes de caractères
- gestion des cas limites
• • •
- Date Time
- Mathematics
- Algorithms
• • •
Ce kata consiste à transformer un nombre de secondes en un format d'heure lisible.
La fonction doit :
- convertir les secondes en heures, minutes et secondes
- formater le résultat sous la forme HH:MM:SS
- garantir un affichage toujours sur deux chiffres par unité.