2010-05-19 10 views
7

Quiero restar de un DateTime. Ejemplo:Restando de un 'DateTime'

date1 = 13/01/2004 12:20:00 
result = Subtract(date1-15); 

Resultados previstos:

13/01/2004 12:05:00 

¿Cómo se hace esto?

+1

@Will, ¿por qué comprobar Google cuando tenemos stackoverflow! – code4life

+0

@ code4life: porque es un ejercicio lento hacer una pregunta acerca de restar minutos, cuando puede agregar una cantidad negativa de minutos. Ese es un ejercicio matemático puro. IntelliSense proporciona el método 'AddMinutes()'. –

+0

@Will - en ese caso debemos recomendar que el OP use IntelliSense, ¿no estás de acuerdo? En general, stackoverflow> google, IMO ... :) (O deberíamos hacerlo de esa manera) – code4life

Respuesta

41

Usted puede echar un vistazo al método AddMinutes:

var result = date1.AddMinutes(-15); 
+10

Tenga en cuenta que al llamar 'DateTime.AddMinutes (-1)' en un valor que se ha inicializado a DateTime.MinValue arroja un excepción. ¡Sólo sé cuidadoso! –

3

Uso DateTime.Add(TimeSpan) con un valor negativo.

O utilice DateTime.AddDays(), DateTime.AddMinutes(), etc.

3

Usted podría intentar esto:

TimeSpan t1 = new TimeSpan(16,0,0); 
DateTime d2= datetime.Subtract(t1); 
4
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0); 
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0); 
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0); 

// diff1 gets 185 days, 14 hours, and 47 minutes. 
System.TimeSpan diff1 = date2.Subtract(date1); 

// date4 gets 4/9/1996 5:55:00 PM. 
System.DateTime date4 = date3.Subtract(diff1); 

// diff2 gets 55 days 4 hours and 20 minutes. 
System.TimeSpan diff2 = date2 - date3; 

// date5 gets 4/9/1996 5:55:00 PM. 
System.DateTime date5 = date1 - diff2;