PluginProbe
Independent Analytics – WordPress Analytics Plugin / 2.2.1
Independent Analytics – WordPress Analytics Plugin v2.2.1
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 All 120 releases
independent-analytics / IAWP / Statistics / Intervals / Interval.php
Interval.php
24 lines 876 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Statistics\Intervals;
4
5 /** @internal */
6 abstract class Interval
7 {
8 public abstract function id() : string;
9 public abstract function label() : string;
10 public abstract function date_interval() : \DateInterval;
11 public abstract function calculate_start_of_interval_for(\DateTime $original_date_time) : \DateTime;
12 public abstract function get_label_for(\DateTime $date_time) : array;
13 // Todo - Maybe have an option to pass in either the class or the id for Statistics.php equality checks
14 // that currently rely on the interval method
15 public function equals(Interval $interval) : bool
16 {
17 return $this->id() === $interval->id();
18 }
19 protected function format(\DateTime $date_time, string $format)
20 {
21 return \wp_date($format, $date_time->getTimestamp(), $date_time->getTimezone());
22 }
23 }
24