54 votes

DatePicker affiche une valeur de mois incorrecte

J’ai un problème dans Android lorsque j’utilise la méthode, puis il renverra une valeur incorrecte.

Par exemple:

Si je sélectionne le 06 août 1987, il reviendra le 6/7/1987

Je pense que c’est une erreur, sinon dites-moi la raison s’il vous plaît.

40voto

Mehul Ranpara Points 2496

Dans Android, lorsque vous sélectionnez une date dans le sélecteur de dates, il commence à compter les mois à partir de 0. Cela signifie donc que la valeur du mois renvoyé est toujours month−1.

Par exemple, si vous sélectionnez août (le 8e mois), il renvoie 8−1=7.

Cela signifie que ce que vous devez faire est d’ajouter 1 à la valeur du mois que vous obtenez du DatePicker.

Vous pouvez le faire de cette façon:

3voto

Kapil Jituri Points 520

La raison pour laquelle je peux penser à la raison pour laquelle cela a été dans Java util est la suivante:

Considérez les jours du 1er au 31 janvier.

Un jour comme le 22 janvier peut être considéré comme 0 mois + 22 jours de cette année. Alors que le 15 février peut être indiqué comme suit: 1 mois + 15 jours de cette année.

De même, le 10 décembre peut être indiqué comme suit: 11 mois + 10 jours de cette année.

Par conséquent, Jan-Dec est appelé 0-11.

2voto

MegaMind Points 214

Il n’y a pas d’erreur à cela. Le comptage des mois dans la classe Calendar est basé sur zéro. voir ceci.

2voto

Brian Pando Points 29

Vous pouvez utiliser le code suivant :

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