Я использую icalendar в своем проекте. В моем приложении есть некоторые привилегии, где пользователь может создавать и экспортировать файл .ics и импортировать в Outlook. В Outlook пользователь может добавить какое-то событие, а также сгенерировать файл .ics и импортировать его в календарь. Вопрос в том, когда экспорт пользователь Микросхемы файл, то файл содержит следующие данные:Экспорт файла .ics из Oulook, появляющегося в другом часовом поясе
"start_datetime" => "2016-04-06 18:00:00" //UTC Time
"end_datetime" => "2016-04-06 18:30:00" //UTC Time
"status" => null
"title" => "Free"
"description" => ""
"from" => "Dr Demo xprt02"
Когда пользователь импортирует этот файл в перспективе, экспорт из перспективы снова и импорт обратно в приложение затем .ics возвращения:
array:11 [▼
"CLASS" => "PUBLIC"
"CREATED" => "20160405T073709Z"
"DTEND" => "20160406T130000Z"
"DTSTAMP" => "20160405T020700Z"
"DTSTART" => "20160406T123000Z"
"LAST-MODIFIED" => "20160405T073709Z"
"SEQUENCE" => "0"
"SUMMARY" => " Free"
"TRANSP" => "OPAQUE"
"UID" => "20160405T073649-31540-f4wd.com"
"X-MICROSOFT-CDO-BUSYSTATUS" => "BUSY"
]
после преобразования .ics содержание в php я получаю.
"start_datetime" => "2016-04-06 12:30:00"
"end_datetime" => "2016-04-06 13:00:00"
"status" => null
"title" => "Free"
"description" => ""
"from" => "Dr Demo xprt02"
Я не знаю, почему существует такая разница в startdatetime
и end_datetime
после получения того же файла с прогнозом. Я думаю, что прогноз не возвращается в UTC. Если у кого-то есть идея, пожалуйста, поделитесь.
Вы должны показать содержимое ics, а не преобразованный php. Конечно, есть проблема с часовым поясом. – fusion3k
Прежде всего, я предлагаю вам сравнить реальные файлы ics (текстовые файлы, открыть его с помощью основного текстового редактора (см. [Здесь] (http://apple.stackexchange.com/questions/125338/calendar-ical-ics- формат) в примерный формат), а затем проверить с помощью оригинального файла ics (не созданного вашей программой), импортировать его в Outlook и затем экспортировать, чтобы узнать, не изменилось ли поведение. Тогда вы можете понять, есть ли проблема из вашего скрипта или из Outlook. – fusion3k
@ fusion3k, я уже сделал это. Некоторая колонка типа «CLASS» => «PUBLIC, X-MICROSOFT-CDO-BUSYSTATUS и т. д.» Я использовал в своем скрипте после ссылки из файла .ics (экспорт из Outlook). –