Supongamos que mi hora en la India es a las 9:30 a.m., por lo que quiero convertir esta hora a otra zona horaria de un país diferente.
Haga clic aquí para ver la vista previa de la imagen para esto.
Entonces, tengo estos intervalos de tiempo de 45 minutos cada uno de Asia/Calcuuta, y como puede ver, alguien ha reservado los primeros 2 intervalos de tiempo.
Entonces, ahora, como otro usuario de Asia/Karachi, intento reservar la franja horaria, primero anula e intercambia la hora de Asia/Calcuta a Asia/Karachi, pero el problema es que esas 2 franjas horarias reservadas se muestran aquí como Disponibles. Quiero que cualquier persona de cualquier zona horaria vea también las franjas horarias reservadas.
Haga clic aquí para ver la vista previa de la imagen para esto.
for(var i=0;i<slotsArray.length;i++) { for(var j=0;j<this.bookedTimingsOfUser.length;j++) { var getStartValInSlice = (this.bookedTimingsOfUser[j][0].userstartTime).slice(0, -3); if((momenttm(date+ " " + slotsArray[i].timeSlotStart).tz(timezone)).tz(this.bookedTimingsOfUser[j][0].userBookedTimezone).format('LT') == momenttm(date+ " " + getStartValInSlice).tz(this.bookedTimingsOfUser[j][0].userBookedTimezone).format('LT') && moment(getDate.value).format('LL') == this.bookedTimingsOfUser[j][0].userbookedDate) slotsArray[i].timeSlotStart = "Booked"; } } }¿Cómo puedo lograr esto usando JS o cualquier otro paquete npm de conversión de tiempo como moment.js?
Puede pasar la propiedad de zona horaria al método toLocaleString para convertir esta hora a una zona horaria diferente
const timezoneSelect = document.querySelector('#timezones'), displayZone = document.querySelector('strong'); timezoneSelect.addEventListener('change', function(e) { const date = new Date().toLocaleTimeString('en-US', { timeZone: this.value }); displayZone.innerText = date; }) <select name="timezones" id="timezones"> <option value="Asia/Kolkata">Asia/Kolkata</option> <option value="Asia/Karachi">Asia/Karachi</option> </select> <p>Current Time: <strong>HH:MM:SS</strong></p>