Resta de horas

26/12/2005 - 11:56 por Black_angel | Informe spam
Hola a todos,

estoy queriendo restar dos horas desde C# para que me den los minutos de
diferencia entre una hora y otra y no me coinciden los resultados con lo
esperado.

La hora la cojo de una base de datos access y la resta la hago de la
siguiente forma:

System.DateTime horaRecog;
System.TimeSpan XminDate;
int Xmin;

//Cojo la hora de la BBDD y la dejo en "horaRecog"
//Quiero hacer la siguiente resta: "HoraRecog- 06:00" y que me de los minutos
//de diferencia. Si "HoraRecog" fuese "07:00:00" debería de darme 60.

XminDate= horaRecog.Subtract(System.DateTime.Parse("06:00:00"));
Xmin= XminDate.Minutes;




¿Qué estoy haciendo mal?
Gracias de antemano por las respuestas.
Un saludo:

Black_angel.
 

Leer las respuestas

#1 Guerrero
26/12/2005 - 14:16 | Informe spam
Hola Black_angel, puedes restar fechas de manera mucho más rápida, la
Estructura DateTime tiene un operando de resta, suma, mayor, menor, ect. Con
lo cual te esta permitido hacer a - b, siendo a y b de tipo DateTime y esto
de devuleve o DateTime o TimeSpan, aqui tienes un pequeño ejemplo de como
hacerlo en codigo.

using System;

class t{
public static void Main(){
new t();
}
public t(){
DateTime t = DateTime.Now;
DateTime a = t.AddHours(3);
a = a.AddMinutes(30);
TimeSpan resta = t - a; // mira la documentación que el operando de resta
esta implementado para restar fechas directamente.
Console.WriteLine(resta.Minutes);
Console.WriteLine(resta.Hours);
}
}


"Black_angel" escribió:

Hola a todos,

estoy queriendo restar dos horas desde C# para que me den los minutos de
diferencia entre una hora y otra y no me coinciden los resultados con lo
esperado.

La hora la cojo de una base de datos access y la resta la hago de la
siguiente forma:

System.DateTime horaRecog;
System.TimeSpan XminDate;
int Xmin;

//Cojo la hora de la BBDD y la dejo en "horaRecog"
//Quiero hacer la siguiente resta: "HoraRecog- 06:00" y que me de los minutos
//de diferencia. Si "HoraRecog" fuese "07:00:00" debería de darme 60.

XminDate= horaRecog.Subtract(System.DateTime.Parse("06:00:00"));
Xmin= XminDate.Minutes;




¿Qué estoy haciendo mal?
Gracias de antemano por las respuestas.
Un saludo:

Black_angel.

Preguntas similares