PluginProbe
WANotifier for Forms and Actions / 2.7.5
WANotifier for Forms and Actions v2.7.5
3.1.1 3.1.0 3.0.4 2.7.10 2.7.11 2.7.12 2.7.13 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 3.0.0 3.0.1 3.0.2 3.0.3 trunk 0.1.0 0.1.1 1.0.0 1.0.1 1.0.2 All 67 releases
notifier / libraries / action-scheduler / classes / ActionScheduler_DateTime.php

ActionScheduler_DateTime.php in WANotifier for Forms and Actions 2.7.5, at libraries/action-scheduler/classes/ActionScheduler_DateTime.php

80 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * ActionScheduler DateTime class.
5 *
6 * This is a custom extension to DateTime that
7 */
8 class ActionScheduler_DateTime extends DateTime {
9
10 /**
11 * UTC offset.
12 *
13 * Only used when a timezone is not set. When a timezone string is
14 * used, this will be set to 0.
15 *
16 * @var int
17 */
18 protected $utcOffset = 0;
19
20 /**
21 * Get the unix timestamp of the current object.
22 *
23 * Missing in PHP 5.2 so just here so it can be supported consistently.
24 *
25 * @return int
26 */
27 #[\ReturnTypeWillChange]
28 public function getTimestamp() {
29 return method_exists( 'DateTime', 'getTimestamp' ) ? parent::getTimestamp() : $this->format( 'U' );
30 }
31
32 /**
33 * Set the UTC offset.
34 *
35 * This represents a fixed offset instead of a timezone setting.
36 *
37 * @param $offset
38 */
39 public function setUtcOffset( $offset ) {
40 $this->utcOffset = intval( $offset );
41 }
42
43 /**
44 * Returns the timezone offset.
45 *
46 * @return int
47 * @link http://php.net/manual/en/datetime.getoffset.php
48 */
49 #[\ReturnTypeWillChange]
50 public function getOffset() {
51 return $this->utcOffset ? $this->utcOffset : parent::getOffset();
52 }
53
54 /**
55 * Set the TimeZone associated with the DateTime
56 *
57 * @param DateTimeZone $timezone
58 *
59 * @return static
60 * @link http://php.net/manual/en/datetime.settimezone.php
61 */
62 #[\ReturnTypeWillChange]
63 public function setTimezone( $timezone ) {
64 $this->utcOffset = 0;
65 parent::setTimezone( $timezone );
66
67 return $this;
68 }
69
70 /**
71 * Get the timestamp with the WordPress timezone offset added or subtracted.
72 *
73 * @since 3.0.0
74 * @return int
75 */
76 public function getOffsetTimestamp() {
77 return $this->getTimestamp() + $this->getOffset();
78 }
79 }
80