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

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

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

это код, который обрабатывает добавление сообщения в базу данных. ниже вы увидите результат первого файла 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
};