diff --git a/ics.js b/ics.js index 083d963..6590e9a 100644 --- a/ics.js +++ b/ics.js @@ -54,27 +54,30 @@ var ics = function() { }; //TODO add time and time zone? use moment to format? - var start_date = new Date(begin); - var end_date = new Date(stop); + var offset = new Date().getTimezoneOffset(); + var tempStartDate = new Date(begin).getTime() + offset*60*1000 + var start_date = new Date(tempStartDate); + var tempEndDate = new Date(begin).getTime() + offset*60*1000 + var end_date = new Date(tempEndDate); var start_year = ("0000" + (start_date.getFullYear().toString())).slice(-4); var start_month = ("00" + ((start_date.getMonth() + 1).toString())).slice(-2); var start_day = ("00" + ((start_date.getDate()).toString())).slice(-2); var start_hours = ("00" + (start_date.getHours().toString())).slice(-2); var start_minutes = ("00" + (start_date.getMinutes().toString())).slice(-2); - var start_seconds = ("00" + (start_date.getMinutes().toString())).slice(-2); + var start_seconds = ("00" + (start_date.getSeconds().toString())).slice(-2); var end_year = ("0000" + (end_date.getFullYear().toString())).slice(-4); var end_month = ("00" + ((end_date.getMonth() + 1).toString())).slice(-2); var end_day = ("00" + ((end_date.getDate()).toString())).slice(-2); var end_hours = ("00" + (end_date.getHours().toString())).slice(-2); var end_minutes = ("00" + (end_date.getMinutes().toString())).slice(-2); - var end_seconds = ("00" + (end_date.getMinutes().toString())).slice(-2); + var end_seconds = ("00" + (end_date.getSeconds().toString())).slice(-2); // Since some calendars don't add 0 second events, we need to remove time if there is none... var start_time = ''; var end_time = ''; - if (start_minutes + start_seconds + end_minutes + end_seconds != 0) { + if (start_hours + start_minutes + start_seconds + end_hours + end_minutes + end_seconds != 0) { start_time = 'T' + start_hours + start_minutes + start_seconds; end_time = 'T' + end_hours + end_minutes + end_seconds; } @@ -86,8 +89,8 @@ var ics = function() { 'BEGIN:VEVENT', 'CLASS:PUBLIC', 'DESCRIPTION:' + description, - 'DTSTART;VALUE=DATE:' + start, - 'DTEND;VALUE=DATE:' + end, + 'DTSTART;VALUE=DATE-TIME:' + start, + 'DTEND;VALUE=DATE-TIME:' + end, 'LOCATION:' + location, 'SUMMARY;LANGUAGE=en-us:' + subject, 'TRANSP:TRANSPARENT',