Saltar al contenido

Obtenga la zona horaria con React Native

Solución:

Descubrí que es mejor obtener el ID de zona horaria real (como America/New_York) y luego configure su programa de servidor para que funcione usando esa zona horaria al principio. Para obtener eso, use la biblioteca react-native-device-info: https://www.npmjs.com/package/react-native-device-info

import DeviceInfo from 'react-native-device-info';

console.log(DeviceInfo.getTimezone());   //   'America/New_York'

Si recibe un error sobre ‘tvOS’ durante la compilación, consulte esta solución: https://github.com/rebeccahughes/react-native-device-info/issues/286

Prácticamente cualquier cosa que pueda hacer en JavaScript en el navegador (con excepción, por supuesto), puede hacer en React Native. Iniciaría un nuevo objeto de fecha y llamaría getTimezoneOffset() en él para obtener la cantidad de minutos en que la zona horaria se compensa localmente.

var date = new Date();
var offsetInHours = date.getTimezoneOffset() / 60;

Recomiendo no usar una compensación, ya que no se adapta al horario de verano ni a ningún otro ajuste que pueda realizar el sistema operativo.

En su lugar, haga que JavaScript realice la conversión de UTC por usted. Esta respuesta SO muestra un ejemplo: Convierta la fecha y hora UTC a la fecha y hora local usando JavaScript

Si necesita convertir a un arbitrario zona horaria, debería considerar el uso de una biblioteca como moment.js por las mismas razones que mencioné anteriormente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *