moment - timezones javascript
Momento angular: Momento Timezone no tiene datos para America/New_York (1)
La fecha de recepción del servidor se encuentra en la zona horaria UTC
y necesito convertirla a una zona horaria particular, por ejemplo: America/New_York
continuación se muestra el código para el mismo
<span class="bold" ng-bind="sess.date_time | amTimezone:''America/New_York'' | amDateFormat:''h:mm a''"></span>
Pero al hacerlo, recibo el siguiente error:
Moment Timezone has no data for America/New_York. See http://momentjs.com/timezone/docs/#/data-loading/.
Pero America/New_York
es una zona horaria conocida por moment
pero aún así me pide que agregue la zona horaria.
Debe cargar todo lo siguiente:
- momento
- momento-timezone
- los datos de zona horaria para momento-timezone
- momento angular
En la página de inicio de time-timezone , hay disponibles tres distribuciones diferentes de momento-timezone.
moment-timezone.js
es solo el script. No contiene datos de zona horaria. Si usa esta distribución, se espera quemoment.tz.add
sus propios datos de zona horaria, ya sea pormoment.tz.add
omoment.tz.load
, como se describe en los documentos.moment-timezone-with-data.js
incluye todos los datos de zona horaria conocidos de la base de datos tz , para la versión mencionada en el sitio web.moment-timezone-with-data-2012-2022.js
incluye los mismos datos de tz, pero se trunca a solo los años 2012 a 2022. Este es un archivo de datos mucho más pequeño, y es suficiente para la mayoría de las aplicaciones del lado del navegador.
Hay versiones minificadas de cada uno también.
Entonces, si obtiene "Moment Timezone has no data for America/New_York"
, dado que America/New_York
es un identificador de base de datos TZ válido, entonces simplemente no ha cargado los datos para ello. Probablemente estés usando moment-timezone.js
sin agregarle datos. Incluya los datos de zona horaria con moment.tz.add
, o (más apropiadamente) cambie a uno de los archivos que ya incluye todos los datos de zona horaria.
Sin embargo, no hagas ambas cosas. Los datos de zona horaria solo deben cargarse una vez, y los scripts de momento-zona horaria solo deben cargarse una vez. Si utiliza moment-timezone-with-data.js
o moment-timezone-with-data-2012-2022.js
, no debería usar moment-timezone.js
, ya que ese script ya está incluido.