2009-09-30 13 views
5

Necesito configurar ciclos de facturación y pagos de proceso. Entonces, por ejemplo, procesaré un pago de inmediato y luego estableceré el siguiente para procesar exactamente un mes a partir de entonces.¿Hay alguna manera fácil de incrementar un DateTime en unidades mensuales/anuales/diarias sin tener que analizarlo como loco?

Así que si obtengo DateTime.Now, ¿hay alguna manera rápida de agregarle un mes? ¿Qué tal un año? ¿O tendré que analizarlo en MM, YYYY, DD, y luego agregar a MM, si MM == 12 incrementar año, etc ... luego volver a armarlo para que mi cadena se envíe a este complemento de paypal?

Aquí es el formato final necesario:

"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. 

Así que básicamente me pregunto si hay algún fácil construidos de forma que añadir un mes o un año para una fecha sin necesidad de analizar la basura fuera de ella como una cuerda.

Respuesta

19

Prueba esto:

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

El método "AddMonths" bien llamada viene inmediatamente a la mente.

7

DateTime tiene un conjunto de Añadir métodos tales como:

  • AddYears
  • AddMonths
  • AddDays
  • AddHours
  • AddMonths

etc.

Más información en DateTime methods.

Cuestiones relacionadas