2 votes

Formatage de la date dans React Native

J'essaie de formater une valeur de date et d'heure en fonction des paramètres de l'appareil. Quoi que je change dans les paramètres du simulateur ou dans le schéma xCode, j'obtiens toujours le format US avec date.toLocaleDateString()

J'ai donc essayé différentes librairies (moment, react-native-localize, ...) mais c'est pareil, on obtient toujours le format US.

J'ai donc essayé de définir le Locale directement avec ce code :

  const date = new Date(Date.UTC(2019, 11, 26, 14, 5, 0))
  const options = {
     dateStyle: 'medium',
     timeStyle: 'short',
  }
  console.log(date.toLocaleDateString('en-US', options))               // Dec 26, 2019, 3:05 PM
  console.log(date.toLocaleDateString('fr-FR', options))               // Dec 26, 2019, 3:05 PM
  console.log(new Intl.DateTimeFormat('en-US', options).format(date))  // Dec 26, 2019, 3:05 PM
  console.log(new Intl.DateTimeFormat('fr-FR', options).format(date))  // Dec 26, 2019, 3:05 PM

Et j'obtiens toujours les mêmes résultats !

Que puis-je faire pour afficher ma date dans une autre localité que 'en-US' ?

Je ne veux pas modifier moi-même le format ("DD/MM/YYY HH:mm"), je veux utiliser une locale que j'ai définie ou mieux celle du périphérique.

Merci pour les conseils

0voto

Matheus cabral Points 94

Essayez ce code ci-dessous :

import Moment from 'moment';

render(){
    Moment.locale('en');
    var dt = '2016-05-02T00:00:00';
    return(<View> {Moment(dt).format('d MMM')} </View>) //basically you can do all sorts of the formatting and others
}

vous avez ici un exemple à formater :

moment("12-25-1995", "MM-DD-YYYY");

Vous pouvez consulter la documentation officielle de moment.js ici https://momentjs.com/docs/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X