Синтаксический анализ Datetime для Ical-файлов

Я беру в часовой пояс (req.тело.TIMEZONE), и datetime начало — конец из формы. Я пытаюсь отобразить время назад и сделать файл Ical с ним, однако всякий раз, когда я делаю новую дату(строку), я получаю время на 7 часов вперед? Я пытаюсь использовать момент? Как отобразить местное время для пользователя в файле ical??

        var cal = ical();
            cal.domain('gmail.com');


            var dateFormat = 'YYYY-DD-MM HH:mm+00:00';
            console.log(req.body.START_TIME); //2016-10-03 10:40 am

            var startTime = moment(req.body.START_TIME);
            var localDateStart = startTime.local();
            console.log(localDateStart.format(dateFormat));  // 2016-03-10 10:40+00:00
            console.log(new Date(localDateStart.format(dateFormat))); // invalid... wants the same time


            var endTime = moment(req.body.END_TIME);
            var localDateEnd = endTime.local();
            console.log(localDateEnd.format(dateFormat)); 

            var event = cal.createEvent({

                start: new Date(localDateStart.format(dateFormat)),
                end: new Date(localDateEnd.format(dateFormat)),
                summary: req.body.TITLE,
                location: req.body.LOCATION,
                description: req.body.DESCRIPTION,
                organizer: req.body.HOSTED + " <" + req.body.EMAIL + ">",
                url: req.body.URL
            });

1 ответ

  1. Вам просто нужно получить экземпляр даты JavaScript для времени начала и окончания. Как только у вас это есть, смещения часового пояса применяются оттуда. Экземпляр Date можно создать из объединения строк.

    Это ребята говорит:

    Как правило: всегда храните и обрабатывайте даты в формате UTC
    собираюсь показать их пользователям. Если Вы читаете местное время от
    пользователь, вы должны преобразовать их в UTC время как можно раньше
    возможный момент и держать их в таком виде, пока вы не отобразить их снова.

    Вот онлайн-метка времени, которую я создал, которая может пролить свет.

    Введите описание изображения здесь