Bonjour,

J'aimerais bien comprendre comment fait-on pour convertir des secondes en mois. La réponse attendue est 5 mois; je n'arrive pas du tout à ce résultat.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
 
$nombreSecondDepart = 12345678912;   // => nombre de seconde:
 
$nombreSecondParJour = 3600 * 24;    // => nombre de seconde par jour * le nombre d'heure dans une journée
 
$nombreSecondParAnnee = $nombreSecondParJour * 365;  // => nombre de seconde par année
 
$nombreSecondParMois = $nombreSecondParJour * 30;   // => nombre de seconde par mois ; il y a 30 jours dans un mois
 
/*
 
Nombre d'années contenues dans la durée fournie
 
*/
 
$nombreAnne = (int) ($nombreSecondDepart / $nombreSecondParAnnee); // => division entière
$nombreSecondRestant = $nombreSecondDepart % $nombreSecondParAnnee;        // => division modulo ; des secondes restants
 
//Nombre de mois contenues dans la durée fournie
 
$nombreMois = (int) ($nombreSecondDepart / $nombreSecondParMois);
$nombreSecondRestant = $nombreSecondDepart % $nombreSecondParMois;
 
 
 
echo "Le nombre de seconde à convertir => ".$nombreSecondDepart;
echo "<br />";
echo "Cette durée correspond à " .$nombreAnne. " années de 365 jours.";
echo "<br />";
echo "Cette durée correspond à " .$nombreMois. " mois de 30 jours. ";
echo "<br />";
echo "second restant " .$nombreSecondRestant. " .";

Voici mon raisonnement je fais une division entière du nombre de seconde restants et du nombre de seconde par mois et je stock celui-ci dans une variable appelée $nm
Puis je fais le modulo du nombre de seconde restants et le nombre de seconde par mois.

Qu'en pensez-vous?

Merci