PluginProbe
User Access Manager / 2.2.15
User Access Manager v2.2.15
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
user-access-manager / src / Util / DateUtil.php

DateUtil.php in User Access Manager 2.2.15, at src/Util/DateUtil.php

97 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 */
15
16 declare(strict_types=1);
17
18 namespace UserAccessManager\Util;
19
20 use UserAccessManager\Wrapper\Wordpress;
21
22 /**
23 * Class DateUtil
24 *
25 * @package UserAccessManager\Util
26 */
27 class DateUtil
28 {
29 /**
30 * @var Wordpress
31 */
32 private $wordpress;
33
34 /**
35 * DateUtil constructor.
36 * @param Wordpress $wordpress
37 */
38 public function __construct(Wordpress $wordpress)
39 {
40 $this->wordpress = $wordpress;
41 }
42
43 /**
44 * Formats the date to the wordpress default format.
45 * @param string $date
46 * @return string
47 */
48 public function formatDate(string $date): string
49 {
50 return $this->wordpress->formatDate($date);
51 }
52
53 /**
54 * Formats the date for the datetime input field.
55 * @param string|null $date
56 * @return string
57 */
58 public function formatDateForDatetimeInput(?string $date): ?string
59 {
60 return ($date !== null) ? strftime('%Y-%m-%dT%H:%M:%S', (int) strtotime($date)) : $date;
61 }
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 */
87 public function getDateFromTime(?int $time): ?string
88 {
89 if ($time !== null && $time !== 0) {
90 $currentTime = $this->wordpress->currentTime('timestamp');
91 return gmdate('Y-m-d H:i:s', $time + $currentTime);
92 }
93
94 return null;
95 }
96 }
97