Si estás usando C# (o VB.NET, o ASP.NET) que puede utilizar
DateTime dt = DateTime.Now.AddHours(1);
puede utilizar números negativos para restar:
DateTime dt = DateTime.Now.AddHours(-1);
editado: que extraer un asnwer desde this post
Sugieren convertir SYSTEMTIME a FILETIME, que es un número de garrapatas desde una época. A continuación, puede agregar el número requerido de 'ticks' (es decir, 100ns intervalos) para indicar su tiempo y convertir de nuevo a SYSTEMTIME.
La estructura ULARGE_INTEGER es una unión con un miembro de QuadPart, que es un número de 64 bits, que se puede agregar directamente (en el hardware reciente).
SYSTEMTIME add(SYSTEMTIME s, double seconds) {
FILETIME f;
SystemTimeToFileTime(&s, &f);
ULARGE_INTEGER u ;
memcpy(&u , &f , sizeof(u));
const double c_dSecondsPer100nsInterval = 100. * 1.E-9;
u.QuadPart += seconds/c_dSecondsPer100nsInterval;
memcpy(&f, &u, sizeof(f));
FileTimeToSystemTime(&f, &s);
return s;
}
Si desea agregar un uso horas SYSTEMTIME s2 = add(s1, 60*60)
Qué idioma se está utilizando ? ¿Y a qué te refieres con SYSTEMTIME? –
@Marco lo siento tarde ... y sí hombre thanxx funcionó bien para mí – Peter