Soy nuevo en React Native y me está costando mucho intentar hacer algo que he hecho muchas veces en PHP y otros lenguajes.
Hay muchas maneras de lidiar con la conversión de la zona horaria y el formato de las fechas, pero no tengo suerte y he dedicado MUCHO tiempo a esto.
Esto es lo que estoy tratando de hacer:
Puedo hacer estas cosas con bastante facilidad en PHP, por ejemplo, y pensé que anteriormente había hecho algo similar en Vanilla JS, pero no recuerdo. Durante los últimos dos días que he estado en esta madriguera de conejo, me caí lidiando solo con citas... Uggg, ayúdame a salir.
Actualmente estoy usando el siguiente código y hace lo que quiero en IOS y pensé que había terminado hasta que lo probé en Android y me di cuenta de que muestra la hora militar en Android. Uggg..
He visto recomendaciones para usar moment.js, pero cuando lo revisé, básicamente dice que es de la vieja escuela y que no debe usarse para la codificación moderna.
Estoy buscando algo moderno y no increíblemente complicado, no creo que lo que estoy haciendo sea increíblemente complejo Geesh... Prefiero no usar una biblioteca, pero lo haré si tengo que hacerlo para no tener que pasar otros 2 días. jodiendo con una conversión de fecha.
Esto es lo que tengo ahora en un componente que hice para mi aplicación. Estoy seguro de que es un código horrible, pero funciona excepto en Android.
Gracias de antemano por cualquier ayuda.
Esto es lo que tengo, que genera algo como Vie 09/09/2021, 10:29 p. m. cuando introduzco una fecha de MySQL. En Android se muestra la misma salida pero hora militar (24 horas).
import React from 'react'; const DateConvert = (rawDate) => { // Convert the date into local time based on handset const msgDateLocal = new Date(rawDate); let msgDateDay; // Convert the numeric weekday to something more readable ZERO based switch (msgDateLocal.getDay()) { case 0: msgDateDay = "Sun"; break; case 1: msgDateDay = "Mon"; break; case 2: msgDateDay = "Tue"; break; case 3: msgDateDay = "Wed"; break; case 4: msgDateDay = "Thu"; break; case 5: msgDateDay = "Fri"; break; case 6: msgDateDay = "Sat"; break default: msgDateDay = "Invalid day of the week"; } // Let's do a little formatting to make it all pretty return `${msgDateDay} ${msgDateLocal.toLocaleDateString()} ${msgDateLocal.toLocaleTimeString()}`; }; export default DateConvert;
Pude resolver esto usando los ejemplos que se muestran aquí reactnativecode.com/get-current-time-in-12-hours-am-pm-format No estoy seguro de si había una mejor manera, pero esto me permitió resolver mi problema y sigue adelante con algo más divertido que joder con las fechas... Gracias por las respuestas y la ayuda.