I looked through many, if not all, of the questions associated with timezone discrepancies in Laravel but don't think I've seen the answer for this issue.
My application allows people to create events setting the start and end times for an event with a specified timezone that applies to each.
I can confirm that config/app.php has the line:
'timezone' => 'America/New_York'
I have the following (abbreviated) ics file that Laravel is generating:
BEGIN:VCALENDAR
PRODID:-//Event Name
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
SUBJECT:Meeting Name
CLASS:PUBLIC
CREATED:20190311T022400
DTSTART;TZID=America/New_York:20190409T183000
DTEND;TZID=America/New_York:20190409T193000
LOCATION:2833@orgname.org:Place
SUMMARY:Sample Title
DESCRIPTION:We look forward to seeing you. Thank you!
URL;VALUE=URI:http://localhost/events/PMORT2019_04
UID:20190409T183000438@blah.org
SEQUENCE:0
TRANSP:OPAQUE
DTSTAMP:20190409T130438
LAST-MODIFIED:20190409T130437
ORGANIZER;CN=OrgName:MAILTO:events@orgname.org
X-MICROSOFT-CDO-BUSYSTATUS:Confirmed
X-MICROSOFT-CDO-INTENDEDSTATUS:Confirmed
END:VEVENT
END:VCALENDAR
The ICS file shows that 1830 (6:30pm) is the start with 1930 (7:30pm) as the end time. This is what was entered as input and it is what I'd expect to see when opening the ICS file.
However, when I open the resulting ICS file on a windows machine (in the same timezone) Outlook is showing a 7:30pm-8:30pm timeframe which is incorrect.