Si j'ai (aussi je ne suis pas près d'un ordinateur avec Visual Studio) P> DateTime date = nouvelle dateTime ("1/31/2010"); code> et j'appelle
date.addmonth (1) code>. Vais-je obtenir "2/28/2010" ou cela va-t-il freirer parce que "2/31/2010" n'existe pas? Ou vais-je obtenir "3/3/2010"? P>
4 Réponses :
Vous obtiendrez la fin de la fin du mois suivant, donc 2/28. P>
Il fera une addition de mois de temps de date à temps approprié et renvoie le 2/28/2010 P>
Il ne casse pas, cela vous donnera 2/28/2010 P>
Si le jour qui en résulte n'est pas un jour valide du mois résultant, le dernier jour valide du mois résultant est utilisé. Par exemple, le 31 mars + 1 mois = 30 avril. P> blockQuote>
J'ai voté cette question parce que cela aurait pu être facilement testé. Je réalise que l'utilisateur a dit qu'ils n'étaient pas à proximité d'un ordinateur, mais ils auraient pu vérifier quand ils étaient en arrière à un.
J'ai suscité parce que AddMonth est un non-sens: un mois durable 28, 29, 30 ou 31 jours? C'est une décision arbitraire par cadre: Utiliser les adieux () à la place.
Je suis absolument d'accord. Cette méthode calcule une date, peut-être même le long du "sens commun" de la majorité, mais il n'est en aucun cas une opération "ajouter". D + 1minth + 1 mois n'est pas nécessairement D + 2 mois, c'est-à-dire 31Jan + 1m + 1m = 28mar tandis que 31jan + 2m = 31mar. Heureux débogage de la mesure de temps historique mal structurée.