| | <?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'; |
| | } |
| | } |
| |
|