@@ -16,27 +16,27 @@ |
||
16 | 16 | */ |
17 | 17 | class EventInterval { |
18 | 18 | |
19 | - /** |
|
20 | - * Return the number of times a duration fits into the start and end date taking into account |
|
21 | - * BAT's consideration that the end time for a BAT event includes that last minute. |
|
22 | - * |
|
23 | - * @param \DateTime $start_date |
|
24 | - * @param \DateTime $end_date |
|
25 | - * @param \DateInterval $duration |
|
26 | - * |
|
27 | - * @return float |
|
28 | - */ |
|
29 | - public static function divide(\DateTime $start_date, \DateTime $end_date, \DateInterval $duration) { |
|
30 | - // Clone so that we don't change the original object. We are not using ImmutableDateTime to support PHP5.4 |
|
31 | - $temp_end_date = clone($end_date); |
|
32 | - |
|
33 | - // Add a minute to deal with the fact that BAT considers the last minute included |
|
34 | - $temp_end_date->add(new \DateInterval('PT1M')); |
|
35 | - |
|
36 | - // Convert everything to seconds and calculate exactly how many times the duration fits in our event length |
|
37 | - $duration_seconds = $duration->d * 86400 + $duration->h * 3600 + $duration->i * 60 + $duration->s; |
|
38 | - |
|
39 | - return ($temp_end_date->getTimestamp() - $start_date->getTimestamp()) / $duration_seconds; |
|
40 | - } |
|
19 | + /** |
|
20 | + * Return the number of times a duration fits into the start and end date taking into account |
|
21 | + * BAT's consideration that the end time for a BAT event includes that last minute. |
|
22 | + * |
|
23 | + * @param \DateTime $start_date |
|
24 | + * @param \DateTime $end_date |
|
25 | + * @param \DateInterval $duration |
|
26 | + * |
|
27 | + * @return float |
|
28 | + */ |
|
29 | + public static function divide(\DateTime $start_date, \DateTime $end_date, \DateInterval $duration) { |
|
30 | + // Clone so that we don't change the original object. We are not using ImmutableDateTime to support PHP5.4 |
|
31 | + $temp_end_date = clone($end_date); |
|
32 | + |
|
33 | + // Add a minute to deal with the fact that BAT considers the last minute included |
|
34 | + $temp_end_date->add(new \DateInterval('PT1M')); |
|
35 | + |
|
36 | + // Convert everything to seconds and calculate exactly how many times the duration fits in our event length |
|
37 | + $duration_seconds = $duration->d * 86400 + $duration->h * 3600 + $duration->i * 60 + $duration->s; |
|
38 | + |
|
39 | + return ($temp_end_date->getTimestamp() - $start_date->getTimestamp()) / $duration_seconds; |
|
40 | + } |
|
41 | 41 | |
42 | 42 | } |