| <?php |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| namespace Eluceo\iCal\Util; |
|
|
| class DateUtil |
| { |
| public static function getDefaultParams(\DateTimeInterface $dateTime = null, $noTime = false, $useTimezone = false, $timezoneString = '') |
| { |
| $params = []; |
|
|
| if ($useTimezone && $noTime === false) { |
| $timeZone = $timezoneString === '' ? $dateTime->getTimezone()->getName() : $timezoneString; |
| $params['TZID'] = $timeZone; |
| } |
|
|
| if ($noTime) { |
| $params['VALUE'] = 'DATE'; |
| } |
|
|
| return $params; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| public static function getDateString(\DateTimeInterface $dateTime = null, $noTime = false, $useTimezone = false, $useUtc = false) |
| { |
| if (empty($dateTime)) { |
| $dateTime = new \DateTimeImmutable(); |
| } |
|
|
| |
| |
| |
| if (!$noTime && $useUtc && !$useTimezone) { |
| $dateTime = clone $dateTime; |
| $dateTime = $dateTime->setTimezone(new \DateTimeZone('UTC')); |
| } |
|
|
| return $dateTime->format(self::getDateFormat($noTime, $useTimezone, $useUtc)); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| public static function getDateFormat($noTime = false, $useTimezone = false, $useUtc = false) |
| { |
| |
| if ($useTimezone || !$useUtc) { |
| return $noTime ? 'Ymd' : 'Ymd\THis'; |
| } |
|
|
| return $noTime ? 'Ymd' : 'Ymd\THis\Z'; |
| } |
| } |
|
|