Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Necesito ayuda para restar dos horas (http://www.forosdelweb.com/f29/necesito-ayuda-para-restar-dos-horas-548155/)

oskar83 14/01/2008 17:17

Necesito ayuda para restar dos horas
 
Hola tengo un problema, quiero restar dos horas en visual.net, una de ellas la obtube con el timeofday y la almacene en una variable tipo data, la otra la obtengo de una base de datos y la almaceno en otra variable tipo data, otro problema que tengo es que cuando obtengo la hora de la base de datos me aparece con la fecha, ¿Como obtengo solo la hora que esta almacenada en la base de datos? y ¿Como la resto estas dos horas?

Gracias espero me puedan ayudar

eclipselunar 15/01/2008 04:43

Re: Necesito ayuda para restar dos horas
 
En VB.NET Está DateDiff:

DateDiff("h", StartDateTime, EndDateTime)

En c#.net:::

/// <summary>

/// Dada una fecha, nos devuelve el número de horas que han trascurrido

/// desde comienzo de año

/// </summary>

/// <param name="date">

/// Fecha para la que queremos las horas desde el inicio de año

/// </param>

private static short GetHoursOnYear(DateTime date)

{

DateTime beginOfYear = new DateTime(date.Year, 1, 1, 0, 0, 0);

TimeSpan diff = date - beginOfYear;

double diffHours = diff.TotalHours;

Debug.Assert(diffHours <= 24 * 365);

return (short)diffHours;

}

NOTA: Después de darle algunas vueltas ,la función, definitivamente a quedad así:


private static short GetHoursOnYear(DateTime dateTime)

{

return (short)((dateTime.DayOfYear - 1) * 24 + dateTime.Hour);

}

Peterpay 15/01/2008 10:55

Re: Necesito ayuda para restar dos horas
 
tu hora de la bd conviertela a formato hora solamente, o extrae los valores de las propiedades correspondientes y para agregar o restar las horas a tu hora utliza esto

DateTime.AddHours(valornegativo)


La zona horaria es GMT -6. Ahora son las 05:15.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.