неверное время публикации при развертывании, но не при локальном использовании приложения - PullRequest
0 голосов
/ 08 января 2019

Итак, я столкнулся с этой странной проблемой. У меня есть канал, где вы можете добавлять сообщения. Одна из этих публикаций - это сообщения о событиях, где вы выбираете время, когда событие происходит. Я проверил это локально, и, кажется, работает нормально. Это показывает время, которое я выбрал. Однако при развертывании приложения оно внезапно отображает неправильное время, когда я публикую событие. Например, я опубликовал событие, которое произошло в 15:30, и когда оно отображает, время события установлено в 21:30.

Я в настоящее время нахожусь в Мехико, и я предполагаю, что это отличие от UTC на 6 часов. Я просто не понимаю, почему это правильно, когда я тестирую это локально и неправильно, когда приложение развернуто. Кто-нибудь может мне помочь? Ниже я опубликую некоторые из моих изображений, чтобы показать, в чем проблема.

(Может быть, стоит упомянуть, что я работаю над этим проектом вместе с несколькими другими людьми на международном уровне в разных часовых поясах)

это сообщение, когда я пробую его локально: содержание - это время, которое я хотел, и, как вы можете видеть, оно отображает правильное время

enter image description here

кажется, что база данных также сохраняет правильное время (см. Выделенную строку)

enter image description here

Вот приложение, когда оно развернуто. Как вы видите, я намеревался опубликовать набор событий на 3:30 вечера, но в итоге он показал 9:30 вечера. Таким образом, локально он отображается правильно, но при развертывании не

enter image description here

это код, который обрабатывает добавление сообщения в базу данных. ниже вы увидите результат первого файла console.log в этом фрагменте кода

const add = async (req, res, next) => {
    try {
        const postData = req.body;
console.log('req.body', req.body);
        // // Id it's event post, convert due_to date to UTC before storing
        // if (postData.type === 'event') {
        //   postData['event.due_to'] = moment.utc(postData['event.due_to']).format();
        // }

        const post = await Post.create(postData);

        if (post._content_mentions.length !== 0) {

            // Create Notification for mentions on post content
            notifications.newPostMentions(post);

            // start the process to send an email to every user mentioned
            post._content_mentions.forEach((user, i) => {
                sendMail.userMentionedPost(post, user, i);
            });
        }

        // Send Email notification after post creation
        switch (post.type) {
            case 'task':
                await notifications.newTaskAssignment(post);
                await sendMail.taskAssigned(post);
                break;
            case 'event':
                await notifications.newEventAssignments(post);
                await sendMail.eventAssigned(post);
                break;
            default:
                break;
        }

        return res.status(200).json({
            message: 'New post created!',
            post
        });
    } catch (err) {
        return sendErr(res, err);
    }
};

console.log (req.body) в коде выше

req.body { 'event._assigned_to': '5c34e8b57b82e019b09f569d',
  content: '<p>2:30PM</p>',
  type: 'event',
  _posted_by: '5c34e8b57b82e019b09f569d',
  _group: '5c34e8b57b82e019b09f569e',
  'event.due_to': '2019-01-09 02:30:00.000' }

часть углового внешнего интерфейса, который обрабатывает настройки времени перед отправкой нового сообщения на сервер

// create date object for this event
    const date = new Date(this.model_date.year, this.model_date.month -1, this.model_date.day, this.model_time.hour, this.model_time.minute);

    const post = {
      content: this.post.content,
      type: this.post.type,
      _posted_by: this.user_data.user_id,
      _group: this.group_id,
      event: {
        due_date: moment(date).format('YYYY-MM-DD'),
        due_time: moment(date).format('hh:mm:ss.SSS'),
        due_to: moment(date).format('YYYY-MM-DD hh:mm:ss.SSS'),
        // problem: assignedUsers will always be empty
        _assigned_to: assignedUsers,
        _content_mentions: this.content_mentions
      },
      files: this.filesToUpload
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...