1 | <?php |
||
14 | class DateUtil |
||
15 | { |
||
16 | 4 | public static function getDefaultParams(\DateTime $dateTime = null, $noTime = false, $useTimezone = false) |
|
17 | { |
||
18 | 4 | $params = []; |
|
19 | |||
20 | 4 | if ($useTimezone) { |
|
21 | $timeZone = $dateTime->getTimezone()->getName(); |
||
|
|||
22 | $params['TZID'] = $timeZone; |
||
23 | } |
||
24 | |||
25 | 4 | if ($noTime) { |
|
26 | $params['VALUE'] = 'DATE'; |
||
27 | } |
||
28 | |||
29 | 4 | return $params; |
|
30 | } |
||
31 | |||
32 | /** |
||
33 | * Returns a formatted date string. |
||
34 | * |
||
35 | * @param \DateTime|null $dateTime The DateTime object |
||
36 | * @param bool $noTime Indicates if the time will be added |
||
37 | * @param bool $useTimezone |
||
38 | * @param bool $useUtc |
||
39 | * |
||
40 | * @return mixed |
||
41 | */ |
||
42 | 4 | public static function getDateString(\DateTime $dateTime = null, $noTime = false, $useTimezone = false, $useUtc = false) |
|
43 | { |
||
44 | 4 | if (empty($dateTime)) { |
|
45 | 2 | $dateTime = new \DateTime(); |
|
46 | } |
||
47 | |||
48 | 4 | return $dateTime->format(self::getDateFormat($noTime, $useTimezone, $useUtc)); |
|
49 | } |
||
50 | |||
51 | /** |
||
52 | * Returns the date format that can be passed to DateTime::format(). |
||
53 | * |
||
54 | * @param bool $noTime Indicates if the time will be added |
||
55 | * @param bool $useTimezone |
||
56 | * @param bool $useUtc |
||
57 | * |
||
58 | * @return string |
||
59 | */ |
||
60 | 4 | public static function getDateFormat($noTime = false, $useTimezone = false, $useUtc = false) |
|
69 | } |
||
70 |
If a variable is not always an object, we recommend to add an additional type check to ensure your method call is safe: