В серверной части я создаю переменную с именем куррдате который имеет сегодняшнюю отметку времени в 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
});
код внешнего интерфейса с использованием шаблона ejs:
Код: Выделить всё
--Time Gone
Подробнее здесь: https://stackoverflow.com/questions/793 ... deployment