Invalid ICS file and adding time to existing timestamp in Javascript

Viewed 14

It's my first time working with ICS files and I'm having trouble getting it to work:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//test.com//NONSGML v1.0//EN
BEGIN:VEVENT 
UID:test@test.com
ATTENDEE;CN=My Self ;RSVP=FALSE
DTSTAMP:TZID=Australia/Sydney:19700101T100000
DTSTART:19700101T100000 
DTEND:19700101T100000
LOCATION:Online
SUMMARY:Test Title 10.0
DESCRIPTION:-
END:VEVENT
END:VCALENDAR

Not sure if this matters but this is how I've formatted it in Javascript:

var icsFile = "BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:-//test.com//NONSGML v1.0//EN\nBEGIN:VEVENT \nUID:test@test.com\nATTENDEE;CN=My Self ;RSVP=FALSE\nDTSTAMP:"+ dtstamp +"\nDTSTART:" + start + " \nDTEND:" + start + "\nLOCATION:" + location + "\nSUMMARY:" + summary + "\nDESCRIPTION:" + description + "\nEND:VEVENT\nEND:VCALENDAR";

When I run it in the ics validator: https://icalendar.org/validator.html I get:

Error
Invalid DTSTAMP value, must be a valid date-time value near line # 4
Reference: 3.3.5. Date-Time

Question 1

When I check DTSTAMP, it's correct based on Form#3 : https://icalendar.org/iCalendar-RFC-5545/3-3-5-date-time.html

Question 2

How do I go about adding 3 hours into the DTEND timestamp in Javascript?

Thanks!

1 Answers

To fix the validation error, you need a semicolon after DTSTAMP instead of a colon:

DTSTAMP;TZID=Australia/Sydney:19700101T100000
Related