Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD11]24H00 MySql

8 réponses
Avatar
Laurent
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer
à minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin
qui me permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à
24:00, je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est
pas une heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci

8 réponses

Avatar
Daniel
Laurent a écrit :
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer à
minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin qui
me permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à
24:00, je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est
pas une heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci





Un jour commence à 00:00:00 et termine à 23:59:59

C'est à dire que dans votre cas vous rentrez 22:00 et si on termine le
travail le même jour on saisit 23:59, sinon 00:00 correspond au jour
suivant.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Laurent
> Laurent a écrit :
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer à
minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin qui me
permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à 24:00,
je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est pas une
heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci





Un jour commence à 00:00:00 et termine à 23:59:59

C'est à dire que dans votre cas vous rentrez 22:00 et si on termine le
travail le même jour on saisit 23:59, sinon 00:00 correspond au jour suivant.



Bonjour et merci de cette rapidité

C'est en effet une option que j'avais retenu. Mais il y a un mais ...

C'est un projet pour une administration qui paie les HS jusqu'a 250%
Donc, cette minute perdue entre 23:59 et 24:00 multipliée par X jours
donne un total financier que les agents ne souhaitent pas voir
disparaître (et je les comprends).
Par contre je ne peut pas utiliser les secondes (23:59:59) la saisie se
faisant à la minute.

Je craint fort d'être obligé de passer par un bricolage pour gérer ces
foutus heures ...

Merci
Avatar
Daniel
Laurent a écrit :
Laurent a écrit :
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent
démarrer à minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin
qui me permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à
24:00, je ne peut pas enregistrer 24:00, MySql ne veut pas car ce
n'est pas une heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00
(sachant qu'il s'agit du même jour) ?

Merci





Un jour commence à 00:00:00 et termine à 23:59:59

C'est à dire que dans votre cas vous rentrez 22:00 et si on termine le
travail le même jour on saisit 23:59, sinon 00:00 correspond au jour
suivant.



Bonjour et merci de cette rapidité

C'est en effet une option que j'avais retenu. Mais il y a un mais ...

C'est un projet pour une administration qui paie les HS jusqu'a 250%
Donc, cette minute perdue entre 23:59 et 24:00 multipliée par X jours
donne un total financier que les agents ne souhaitent pas voir
disparaître (et je les comprends).
Par contre je ne peut pas utiliser les secondes (23:59:59) la saisie se
faisant à la minute.

Je craint fort d'être obligé de passer par un bricolage pour gérer ces
foutus heures ...

Merci





Dans ce cas si il commence le lundi à 22:00 et qu'il termine le lundi à
24:00, indiquer simplement qu'il termine le mardi à 00:00 (ce qui est vrai)

Tout le monde est content et personne ne perdra 1/100 ème de seconde.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Laurent
> Laurent a écrit :
Laurent a écrit :
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer à
minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin qui
me permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à 24:00,
je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est pas une
heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci





Un jour commence à 00:00:00 et termine à 23:59:59

C'est à dire que dans votre cas vous rentrez 22:00 et si on termine le
travail le même jour on saisit 23:59, sinon 00:00 correspond au jour
suivant.



Bonjour et merci de cette rapidité

C'est en effet une option que j'avais retenu. Mais il y a un mais ...

C'est un projet pour une administration qui paie les HS jusqu'a 250%
Donc, cette minute perdue entre 23:59 et 24:00 multipliée par X jours donne
un total financier que les agents ne souhaitent pas voir disparaître (et je
les comprends).
Par contre je ne peut pas utiliser les secondes (23:59:59) la saisie se
faisant à la minute.

Je craint fort d'être obligé de passer par un bricolage pour gérer ces
foutus heures ...

Merci





Dans ce cas si il commence le lundi à 22:00 et qu'il termine le lundi à
24:00, indiquer simplement qu'il termine le mardi à 00:00 (ce qui est vrai)




Tout le monde est content et personne ne perdra 1/100 ème de seconde.



Bah oui, c'est une idée : ajouter une rubrique date pour gérer l'heure
de fin ... je garde ça sous le coude pour lundi.
Merci

une autre idée ?
Avatar
lelapyvore
Laurent a écrit :
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?



il n'y a pas de calcul de date au format unix ??
si ou ben ca irait mieux
si j'ai bonne mémoire une date au format unix est le nombre de minutes
ecouléesdepuis le 01/01/1970

donc le calcul rendrait un écart en nombre de minutes
entre heure de débute et heure de fin, même si le jours sont différents.

eric
Avatar
Emmanuel LECOESTER
dateheuredebut
dateheurefin

et on en parle plus.

comme le dit daniel dans ce fil mardi 24h00 == mercredi 00h00.

CQFD

"Laurent" a écrit dans le message de news:

Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer à
minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin qui
me permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à 24:00,
je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est pas une
heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci




Avatar
Laurent
Bonjour

dateheuredebut
dateheurefin

et on en parle plus.

comme le dit daniel dans ce fil mardi 24h00 == mercredi 00h00.

CQFD

"Laurent" a écrit dans le message de news:

Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer à
minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin qui me
permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à 24:00,
je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est pas une
heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci







Bonjour à tous

Merci de vos réponses.
Forcément, c'était simple ... ou comment se faire des noeuds au cerveau
pour rien.

Je viens de faire quelques tests sur mes différents codes après avoir
modifier mes deux rubriques en datetime : ça me convient parfaitement,
je ressort bien mon activité à la minute près quelque soit le cas.

Je met ça en oeuvre dés lundi.
Merci beaucoup de votre aide.
Avatar
patrice
Laurent a écrit :
Bonjour

Ma base est en MySql.

Comment faites-vos pour gérer 24H00 dans une même journée ?
Je m'explique :
J'ai des horaires de travail qui pour la même journée peuvent démarrer à
minuit (00:00) ou bien se terminer à minuit (24:00)
Dans ma base je stocke donc ces deux valeurs, HeureDebut et HeureFin qui
me permettent de faire les calculs et restitutions adéquats
(HeureFin-HeureDebut)
Mais dans le cas d'une tâche qui se déroule par exemple de 22:00 à
24:00, je ne peut pas enregistrer 24:00, MySql ne veut pas car ce n'est
pas une heure valide et il exige que je lui passe 00:00.
Et là je sèche : comment faites-vous vos calculs de durée, comment
faites-vous la différence entre 00:00->minuit et 00:00->24:00 (sachant
qu'il s'agit du même jour) ?

Merci





perso, avec les heures de début et fin, je gere toujours 2 cas différent :
hdebut<hfin (entre 22:00 et 23:00) et hdebut>=hfin (entre 22:00 et 05:00)

si hdebut<hfin : hdebut<=H ET hfin>=H
si hdebut>=hfin: hdebut>=H OU hfin<=H