Je dois modéliser un horaire, et je ne sais pas comment m’y prendre. Je vous explique.
Dans le cadre de la consommation d’électricité, il y a deux horaires, l’horaire de nuit, moins cher, et l’horaire de jour de 6h à 22h.
Mon but est de savoir à un temps t si on se trouve à l’horaire de nuit ou de jour.
ça serait simple si c’était chaque fois pareil, mais le week end est différent.
Le dimanche est un jour considéré comme “nuit”, et le samedi contient des heures en tarif “nuit” et des heures en tarif “jour”.
Comment faire pour modéliser ceci, et ensuite savoir dans quel horaire se trouve mon temps t ?
J’ai pensé à faire :
jour, heure, tarif_de_départ
Ensuite il faudrait lister tous les tarifs jusqu’à “dépasser” le tarif (J’ai du mal à expliquer)
Mais ça m’embête de devoir tout lister pour chaque entrée.
J’ai 4 entrées par heure, et beaucoup de compteurs électriques, donc ça va vite être très lent.
tu peux y retrouver le jour de la semaine (disons d) et l’heure de la journée.
If d != dimanche && d != samedi
{
If h>=6 && h<22) ==> Tarif de jour
Else ==> Tarif de nuit
}
Elseif d== samedi
{
If h>=6 && h<22) ==> Tarif de jour
Else ==> Tarif de nuit
Faut juste adapter des horaires.
}
Else
(dimanche= ==> Tarif de nuit.
Normalement, on arrive à classer les différents jours en 4 catégories
les jours “normaux”
les samedi
les dimanche
les fériés exceptionnels, qui sont en principe à traiter comme un dimanche
Là où ça se complique, c’est que certains de ces fériés sont facilement identifiables par leur quantième : 14 juillet, 1er novembre, Nöel…
(attention aux années bissextiles, quand même), mais il y a aussi les fériés mobiles : lundi de Pâques, Ascension …
Je crois que tu n’échapperas pas à une table descriptive, c’est plus simple que de calculer d’après la lune (Pâques est toujours le dimanche qui suit le 14e jour de la lune qui suit l’équinoxe …)
Edité le 28/05/2008 à 13:04
Ben j’aimerais éviter de coder en dur ces conditions. Si une fois elles changent ça seraient bête de devoir toucher au code directement.[quote=“gcc”]
Normalement, on arrive à classer les différents jours en 4 catégories
les jours “normaux”
les samedi
les dimanche
les fériés exceptionnels, qui sont en principe à traiter comme un dimanche
Là où ça se complique, c’est que certains de ces fériés sont facilement identifiables par leur quantième : 14 juillet, 1er novembre, Nöel…
(attention aux années bissextiles, quand même), mais il y a aussi les fériés mobiles : lundi de Pâques, Ascension …
Je crois que tu n’échapperas pas à une table descriptive, c’est plus simple que de calculer d’après la lune (Pâques est toujours le dimanche qui suit le 14e jour de la lune qui suit l’équinoxe …)
[/quote]
En fait, c’est une simple liste de dates, qu’il te faudra entrer manuellement une fois par an, et dont le contenu sera ensuite traité comme des exceptions à ta règle générale (cf ce que te propose manu2)