Estoy construyendo un calendario de reuniones función de las zonas horarias de todo el mundo. Mi problema es cómo sumar o restar la zona horaria de el usuario selecciona la fecha en Javascript.

Por ejemplo, en el seleccione la forma, el usuario podrá seleccionar la fecha a partir de un formulario: me gustaría, a continuación, obtener los resultados, se convierte en una fecha como la de abajo…

var ldSelectDate = new Date(document.form1.year.value,
           document.form1.month.value,
           document.form1.day.value);

Me gustaría agregar las 12 de la medianoche para este objeto.

Luego leí en un archivo XML que se obtiene de la diferencia de zona horaria en una cuerda entre dos ciudades: tales como «+0430» para Kabul o «-0400» de Nueva York (en horario de verano). Esto se basa en GMT,.

Yo, a continuación, calcular la diferencia horaria entre las dos ciudades: la que se devuelve la cadena de «830». (Asumo que tengo que volver a este como un objeto date?). Tengo esto hecho devolver una cadena. Estoy trabajando con cadenas.

Luego quiero recorrer las 24 horas del día, establecer Kabul a las 12 de la medianoche y, a continuación, recorrer. Me puede más probable es que esta cifra fuera – es decir, establecer la fecha con las horas enteras como yo bucle.

Mi problema es sin dolor restar el «830» desde Kabul a ver lo que la hora de reunión será en Nueva York.

Será ideal si puedo restar las horas y de los minutos de Kabul tiempo. Me di cuenta de que aquí alguien restando las horas en javascript, pero no los minutos. Por CIERTO, que el post no funciona para mí.

Hice esto con cadenas sin los minutos, pero me lío con los minutos. Tiene que haber una manera más fácil.

Me gustaría tener una solución en cualquiera de los nativos de Javascript o jQuery.

De nuevo, tengo que restar/añadir la diferencia de zona horaria en horas y minutos, a una fecha determinada.

Gracias

InformationsquelleAutor user581733 | 2011-07-18

2 Comentarios

  1. 12
    date.setMinutes(date.getMinutes()+minutesToAdd);

    El código anterior se establece su objeto date adelante por la cantidad de minutos en el minutesToAdd variable

    • ¿Cómo puedo convertir de nuevo el conjunto de horas y minutos? Odio sonar ignorante, pero he estado trabajando en esto durante una semana con poco progreso.
    • usted puede obtener las horas de salida utilizando la fecha.getHours() y los minutos con la fecha.getMinutes().
    • Así que usted podría hacer var fecha = new Date(/*datos del formulario aquí*/); fecha.setMinutes(la fecha.getMinutes() + calculateZoneDifference()); var timeString = fecha.getHours()+»:»+fecha.getMinutes(); lo que llevaría a algo que se parece a las 9:54
    • Encantado de ayudar 🙂 no olvides aceptar la respuesta de otras personas que terminan el uso de esta página como referencia en el futuro, saber lo que funcionó para usted
    • Hmmm… yo estoy en un problema, pero con mi zona horaria de conversión de código. En mi código, si me reste de Kabul de Nueva York, recibo las 8:30 de la diferencia de tiempo. Pero si me reste de Nueva York desde Kabul, tengo -9:30 que está mal (yo debería estar recibiendo -8:30). Puede que nadie me dirija a un sitio web que determina la forma de calcular la diferencia de tiempo entre dos zonas de tiempo basado en el «-0400» (Nueva York) y «+0430» (Kabul). Yo creo que puede haber una solución si duermo en ella 🙂
  2. -1

    Más fácil sería para calcular los minutos para que el tiempo de delta, a continuación, hacer un minutos delta.

    date.setMinutes(date.getMinutes() - (hours*60+minutes))

Dejar respuesta

Please enter your comment!
Please enter your name here