Comment modéliser un horaire ?

Salut tout le monde

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.

vous avez des idées ?

merci :]

Le timestamp ?

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.

J’éspère que c’est ce que tu cherche :stuck_out_tongue:

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

Merci de vos réponses

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]

Du coup, comment la modéliser ?

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)