Question

Je suis en train de comparer les dates et j'ai trouvé où mon code va mal, mais je ne sais pas pourquoi.

Je suis en train de comparer une date avec la date d'aujourd'hui (en utilisant des calendriers grégorien seulement). J'imprimé la date d'aujourd'hui où jamais il est mentionné dans le code et en un seul endroit, il change comme par magie de l'année 2010 à l'année 3910 (année aujourd'hui + 1900).

quelqu'un ne sait quelle raison?

//Prints out 2010   
System.out.println("TodaysDate.getYear():\t"+todaysDate.getYear());
//Prints out 2010
System.out.println(todaysDate);

//Getting a year from a string (it is 2010)
todaysDate.setYear(Integer.parseInt(yea));

//Prints out 2010   
System.out.println("TodaysDate.getYear():\t"+todaysDate.getYear());
//Prints out 3910   
System.out.println(todaysDate);
Était-ce utile?

La solution

La date est généralement stocké comme « nombre d'années écoulées depuis 1900 », vous devez donc compenser. Vous pouvez voir que dans la documentation Date: http://developer.android.com /reference/java/util/Date.html

EDIT: Je dois mentionner que je posté un commentaire. Jeff Sharkey recommandé contre la classe Calendar (si vous utilisez aussi). android.text.format.DateUtils est beaucoup plus léger (vous verrez que le téléphone stalles pour un peu lorsque vous chargez la classe Calendrier, en particulier sur les anciens téléphones). DateUtils est disponible dans Android 1.5.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top