DateTime работает правильно на локальном хосте, но не работает должным образом после развертывания даже после первого упJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 DateTime работает правильно на локальном хосте, но не работает должным образом после развертывания даже после первого уп

Сообщение Anonymous »

Я использую node JS для бэкэнда и шаблон ejs для своей клиентской части. По сути, я создаю систему записи в салон, где пользователь будет выбирать дату, и на основе выбора даты в следующей форме они также получат временные интервалы, доступные для этой даты. Я отключил временные интервалы, прошедшие на сегодняшний день. теперь дело в том, что если пользователь выбирает сегодняшнюю дату, он / она должен получить возможность выбрать, какие временные интервалы доступны на сегодняшний день. Эта логика отключения исчезнувших временных интервалов работает правильно на локальном хосте, но как только веб-сайт будет развернут, тогда логика отключения исчезнувших временных интервалов не работает по времени IST, а работает по всемирному времени, которое на 5:30 минут отстает от времени Индии
В серверной части я создаю переменную с именем куррдате который имеет сегодняшнюю отметку времени в IST и массив с именем inputDateTime, который имеет временную метку IST сегодняшнего времени, например 9:00, 10:00 и т. д., и я отправляю эти оба данных во внешний интерфейс, и во внешнем интерфейсе он сравнивает погоду с временной меткой currDate is больше, чем массив inputDateTime, если inputDateTime меньше currDate, тогда логично, что время ушло, и оно должно быть отключено в соответствии с логикой, и оно работает на локальном хосте все в порядке, но не работает после развертывания, он работает в соответствии с мировым временем, а на бэкэнде я использовал date-fns для преобразования времени в время IST, а затем отправил метку времени во внешний интерфейс, поэтому нет необходимости снова преобразовывать метку времени в IST.
бэкэнд-код выглядит следующим образом:

Код: Выделить всё

let { date } = req.params;
console.log(date);

const services = await Service.find({});
const orders = await Order.find({ date: date });

let bookedTime = [];
if (orders.length) {
bookedTime = orders.map((ord) => { return ord.time; });
}

const allTime = ["09:00", "10:00", "11:00", "12:00", "14:00", "15:00", "16:00", "17:00", "19:00", "20:00"];
let inputDateTime = [];

const utcDate = new Date(); // Current UTC time
const timeZone = 'Asia/Kolkata'

// Convert to IST (UTC + 5:30)
const istDate = dateFnsTz.toZonedTime(utcDate, timeZone);
// console.log("backend ist date : ",istDate);
let currDate = istDate.getTime();

for (let j = 0; j < allTime.length; j++) {
let inputDate = new Date(`${date}T${allTime[j]}:00`);

inputDateIST = dateFnsTz.toZonedTime(inputDate, timeZone);
// console.log("backend input dates  and time for user :", inputDateIST);

inputDateTime[j] = inputDateIST.getTime();
}
//       console.log('currDate in backend:',currDate);
// console.log('inputDateTime in vackend:', inputDateTime);

res.render("orders/newTwo.ejs", {
services,
bookedTime,
date,
allTime,
inputDateTime,
currDate
});
Теперь код внешнего интерфейса, в котором я сравниваю временную метку currDate с элементами массива inputDateTime, которые по сути представляют собой время встречи в соответствии с логикой, определяющей временные интервалы, которые меньше временного интервала currDate, должны отключить, но эта логика отключения временных интервалов не работает после развертывания веб-сайта, ссылка на веб-сайт — salon-service.vercel.app, он размещен на Vercel, и я использую Flatpickr для получения даты ввода от пользователя.
код внешнего интерфейса с использованием шаблона ejs:

Код: Выделить всё






 --Time Gone






Я пытаюсь отладить это уже много времени, но не могу это исправить. Я не могу понять, чего мне не хватает в этом. Любая помощь будет очень полезно, спасибо


Подробнее здесь: https://stackoverflow.com/questions/793 ... deployment
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»