J'utilise le package react-native-date-picker pour obtenir la date d'entrée. J'utilise ce code pour obtenir de la valeur.

J'utilise le type Date() pour la variable de date

this.state = {
    date :new Date()
}

Je passe ceci en tant qu'objet json et sélection de date par ce code

<DatePicker
  date={this.state.date}
  mode = {'date'}
  onDateChange={date => this.setState({date})}
/>

De cela, j'obtiens une sortie comme celle-ci. Sun Dec 23 2018 16:11:00 GMT+0530 (India Standard Time) mais je dois l'obtenir comme 2018-12-23 comment le formater comme ça.

enter image description here

Comment mettre en forme la date au format 'aaaa' - 'mm' - 'jj'

1
Dinusha Naveen 26 janv. 2019 à 14:01

3 réponses

Meilleure réponse

Produire une chaîne formatée à partir de l'objet Date

date = new Date()//return today

formattedDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate()

console.log(formattedDate)
1
tvankith 26 janv. 2019 à 11:10

Date vous propose le toISOString (), qui renvoie une chaîne de date au format suivant: 2011-10-05T14:48:00.000Z. Vous pouvez ensuite simplement extraire la date au format aaaa-mm-jj de la chaîne comme ceci:

date.toISOString().split('T')[0]

Mais soyez prudent, car cette méthode convertit d'abord la date en heure UTC. Cela signifie que si vous êtes dans un autre fuseau horaire, votre date peut être décalée vers un autre jour en raison du décalage horaire. Pour éviter cela, vous pouvez essayer:

const offset = date.getTimezoneOffset();
date = new Date(date.getTime() + (offset*60*1000));
date.toISOString().split('T')[0]

J'espère pouvoir vous aider!

1
tenenbaum 26 janv. 2019 à 11:09

importer le moment et ajouter les lignes suivantes

moment(date).format("YYYY MM DD")
0
Butiri Dan 19 août 2019 à 15:12