si j'ai deux valeurs timedelta telles que 21:00:00
(PM), heure de début et 03:00:00
(AM) comme heure de fin et je souhaite comparer 23:00:00
dans cette plage, voir si elle tombe entre ces deux, sans avoir la valeur de la date, comment pourrais-je le faire?Vérification si timedelta valeur est à portée Donc après minuit
Ainsi, bien que dans cet exemple, il verra 23:00:00
plus grand que 21:00:00
il ne verra pas 23:00:00
moins 03:00:00
, ce qui est mon problème. Je dois être capable de comparer l'heure sur un cercle de 24 heures en utilisant timedelta ou une conversion loin de timedelta est très bien.
Remarque: Les plages horaires de début et de fin peuvent changer, donc tout peut être AM/PM. Je ne peux donc pas simplement ajouter un jour à l'heure de fin par exemple.
Vérifiez si diff (23, 21) est inférieur à diff (23, 3)? –
L'heure de fin est-elle garantie dans les 24 heures suivant l'heure de début? Sinon, ça peut devenir compliqué. Si l'heure de début est le lundi à 23 heures et l'heure de fin est mercredi à 3 heures du matin, alors un temps arbitraire dit 11 heures tombe entre eux, aussi longtemps que vous parlez de 11 heures mardi. Si cela est possible, vous aurez besoin de quelque chose de plus que les heures de début et de fin. –
@DavidJenkins oui, ce ne sera que dans une période de 24 heures, tout le temps. Donc, quand vous choisissez un temps arbitraire, c'est-à-dire 15 heures, mais votre plage (sous réserve de changement) ne dit que 6 heures du matin à 12 heures, cela ne devrait pas être à portée. – sgript