PluginProbe
User Access Manager / 2.2.13
User Access Manager v2.2.13
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/Util/DateUtil.php +67 -9 trunk2.2.13 View file →
@@ -1,5 +1,18 @@
1 1 <?php
2 +/**
3 + * DateUtil.php
4 + *
5 + * The DateUtil class file.
6 + *
7 + * PHP versions 5
8 + *
9 + * @author Alexander Schneider <alexanderschneider85@gmail.com>
10 + * @copyright 2008-2017 Alexander Schneider
11 + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 + * @version SVN: $id$
13 + * @link http://wordpress.org/extend/plugins/user-access-manager/
14 + */
2 15
3 16 declare(strict_types=1);
4 17
5 18 namespace UserAccessManager\Util;
@@ -5,34 +18,79 @@
5 18 namespace UserAccessManager\Util;
6 19
7 20 use UserAccessManager\Wrapper\Wordpress;
8 21
22 +/**
23 + * Class DateUtil
24 + *
25 + * @package UserAccessManager\Util
26 + */
9 27 class DateUtil
10 28 {
11 - public function __construct(private Wordpress $wordpress)
12 - {
13 - }
29 + /**
30 + * @var Wordpress
31 + */
32 + private $wordpress;
14 33
15 - private function formatDateWith(?string $date, string $format): ?string
34 + /**
35 + * DateUtil constructor.
36 + * @param Wordpress $wordpress
37 + */
38 + public function __construct(Wordpress $wordpress)
16 39 {
17 - return ($date !== null) ? date($format, (int) strtotime($date)) : null;
40 + $this->wordpress = $wordpress;
18 41 }
19 42
43 + /**
44 + * Formats the date to the wordpress default format.
45 + * @param string $date
46 + * @return string
47 + */
20 48 public function formatDate(string $date): string
21 49 {
22 50 return $this->wordpress->formatDate($date);
23 51 }
24 52
53 + /**
54 + * Formats the date for the datetime input field.
55 + * @param string|null $date
56 + * @return string
57 + */
25 58 public function formatDateForDatetimeInput(?string $date): ?string
26 59 {
27 - return $this->formatDateWith($date, 'Y-m-d\TH:i:s');
60 + return ($date !== null) ? strftime('%Y-%m-%dT%H:%M:%S', (int) strtotime($date)) : $date;
28 61 }
29 62
63 + /**
64 + * Formats the date for the datetime input field.
65 + * @param null|string $date
66 + * @return string
67 + */
68 + public function formatDateForDateInput(?string $date): ?string
69 + {
70 + return ($date !== null) ? strftime('%Y-%m-%d', (int) strtotime($date)) : $date;
71 + }
72 +
73 + /**
74 + * Formats the date for the datetime input field.
75 + * @param null|string $date
76 + * @return string
77 + */
78 + public function formatDateForTimeInput(?string $date): ?string
79 + {
80 + return ($date !== null) ? strftime('%H:%M:%S', (int) strtotime($date)) : $date;
81 + }
82 +
83 + /**
84 + * @param int|null $time
85 + * @return null|string
86 + */
30 87 public function getDateFromTime(?int $time): ?string
31 88 {
32 - if ($time === null || $time === 0) {
33 - return null;
89 + if ($time !== null && $time !== 0) {
90 + $currentTime = $this->wordpress->currentTime('timestamp');
91 + return gmdate('Y-m-d H:i:s', $time + $currentTime);
34 92 }
35 93
36 - return gmdate('Y-m-d H:i:s', $time + $this->wordpress->currentTime('timestamp'));
94 + return null;
37 95 }
38 96 }