Québec Web
Ici, on s’active à réinventer l’Internet québécois, pour se donner les moyens de nos ambitions et se... View more
Réseau social québécois 100% libre et indépendant
Public Groupe d'assistance
Public Groupe d'assistance
Active il y a 2 semaines
Ici, on s’active à réinventer l’Internet québécois, pour se donner les moyens de nos ambitions et se... View more
Public Groupe d'assistance
Je dis ça, et je réalise qu’en réalité ce problème pose une difficulté supplémentaire : qu’arrive-t-il à 1 h du matin vendredi lorsque l’établissement ferme à 2 h du matin le jeudi ? La condition ne dépend pas alors de l’heure de fermeture du jour actuel, mais de celle de la veille.
La logique de la requête (qui doit certainement se traduire en une requête SQL) reste à éclaircir […]
Si on a :
veille.ouverture = heure d'ouverture du jour de la veille (hier)
veille.fermeture = heure de fermeture du jour de la veille (hier)
auj.ouverture = heure d'ouverture du jour actuel
auj.fermeture = heure de fermeture du jour actuel
heure = heure actuelle
ouvert = état actuel d'ouverture à déterminer
Alors on peut définir la condition d’ouverture actuelle du commerce ainsi :
SI (
( veille.fermeture < veille.ouverture ) // fermeture la veille après minuit
ET ( heure < veille.fermeture ) // commerce encore ouvert
) OU (
( heure >= auj.ouverture ) // commerce déjà ouvert
ET (
( auj.fermeture < auj.ouverture ) // fermeture aujourd'hui après minuit
OU ( heure < auj.fermeture ) // commerce encore ouvert
)
)
ALORS ouvert = VRAI // le commerce est actuellement ouvert
Cas limite : certains cas limite (quoique extrêmement improbables) pourraient ne pas être représentés, eg. un commerce qui ouvrirait à 2h du matin (le mardi) et fermerait ensuite à 4h du matin (soit le lendemain matin) pour ré-ouvrir plus tard (le mercredi) est dans l’impossibilité de représenter cela dans la structure de données actuelle de HivePress Opening Hours.