Есть ли простой способ получить правильный формат для iCal DTSTART с использованием даты php?
Мне нужен формат, похожий на: 20111008T110000 или 20111008 (это легко), если у меня нет времени.
Есть ли у PHP-даты быстрый способ сделать это, в частности, который добавляет время или удаляет его, когда это необходимо?
Не существует какой-либо встроенной функции PHP или формата даты, о которой я знаю, поэтому вам нужно создать свою собственную функцию. Что-то вроде этого:
function getIcalDate($time, $incl_time = true) { return $incl_time ? date('Ymd\THis', $time) : date('Ymd', $time); }
Как отметил Хакре в комментариях, формат даты не может различать дату со временем и датой без времени – вам придется решить логику этого.
date('Ymd\THis', time())
Вы можете заменить time()
собственной меткой времени.
Возможно, вы ищете ссылку, и это также может вам помочь.
mktime, чтобы сделать временную метку, как вы хотите, включая время или только дату.