2009-09-30 1 views
5

Je dois configurer des cycles de facturation et traiter les paiements. Ainsi, par exemple, je vais traiter un paiement immédiatement et ensuite mettre le prochain à traiter exactement un mois à partir de là. Donc, si je reçois DateTime.Now, y a-t-il un moyen rapide de simplement ajouter un mois à cela? que diriez-vous d'une année? Ou aurai-je besoin de l'analyser en MM, AAAA, DD, puis ajouter à MM, si MM == 12 incrément année, etc ... puis reconstituer ensemble pour ma chaîne à soumettre à ce plugin paypal?Existe-t-il un moyen facile d'incrémenter un DateTime par des unités mensuelles/annuelles/quotidiennes sans avoir à l'analyser comme un fou?

Voici le format final nécessaire:

"YYYY-MM-DDTHH:MM:SS.MSZ". 

This is explained in more detail below: 




YYYY Four-digit year, e.g. "2005" 
MM Two-digit month. 
DD Two-digit day. 
T Indicates time follows the date. 
HH Hours in military time (24-hour format). 
MM Minutes 
SS Seconds 
MS Milliseconds 
Z 1-character (US military) representation of the time zone, "A" - "M" are negative offsets -1 to -12, with "J" not being used. "N" - "Y" are positive offsets 1 to 12, and "Z" indicates GMT/UTC (no offset). 


For instance, "2004-05-26T15:00:00.00Z" is May 26th, 2004 at 3:00pm GMT. 

Donc, fondamentalement, je me demande s'il y a des construit facilement de façon d'ajouter un mois ou une année à une date sans analyse de la merde hors de celui-ci comme chaîne.

Répondre

19

Essayez ceci:

DateTime myDateTime = DateTime.Now.AddMonths(1); 
4

La bien nommée méthode "AddMonths" vient immédiatement à l'esprit.

7

DateTime a un ensemble de méthodes telles que Ajouter:

  • AddYears
  • AddMonths
  • AddDays
  • AddHours
  • AddMonths

etc.

Plus d'informations à DateTime methods.

Questions connexes