J'ai une table de base de données avec Begindate (datetime) et Enddate (datetime). Cette table contient les durées d'activité. Maintenant, j'essaye de créer une fonction pour calculer la durée totale basée sur des activités qui ne se chevauchent pas dans un begindate-enddate spécifié.Calcul de la durée totale non chevauchante des dates-heures de début
Un exaple serait comme suit:
Je fais appel à cette fonction donnant les paramètres: beginDate = '2012-08-16 10:00' endDate = '2012-08-16 18:00 '
maintenant, disons que les données suivantes sont dans le tableau:
- commencent: '2012-08-15 10:00' end '2012-08-15 14:00'(total 4 heures)
- début: '2012-08-16 09:00' fin '2012-08-16 11: 00 '(total 2 heures)
- début:' 2012-08-16 10:30 'fin' 2012-08-16 10:45 '(total 15 minutes)
- début:' 2012-08-16 12 : 00 'fin' 2012-08-16 16:00 '(total 4 heures)
- début:' 2012-08-16 13:00 'fin' 2012-08-16 17:00 '(total 4 heures)
- début: '2012-08-16 16:30' fin '2012-08-16 16:45' (total 15 minutes)
- début: '2012-08-16 17:30' fin '2012- 08-16 20:00 '(total 2 heures et 30 minutes)
Maintenant, je voudrais ce qui suit à happe n:
- La première activité est en dehors de la période spécifiée et ne sera donc pas incluse.
- Correspondance partielle pour que cela revienne 1 heure.
- L'activité est dans la deuxième activité et ne sera donc pas incluse.
- 4 heures avec la période seront inclus.
- 1 heure sera incluse de 16h00 à 17h00
- L'activité ne sera pas incluse.
- Seulement 30 minutes sont à l'intérieur de la période spécifiée qui sera incluse.
Le total retourné sera: 6 heures et 30 minutes.
Si quelqu'un pouvait m'aider avec cela, je serais très reconnaissant! :)
Merci pour la réponse rapide! C'est exactement ce dont j'avais besoin. –
@DaanVermeulen Content de pouvoir aider :-) –