Se stai usando C# (o VB.NET, o ASP.NET) è possibile utilizzare
DateTime dt = DateTime.Now.AddHours(1);
È possibile utilizzare numeri negativi per sottrarre:
DateTime dt = DateTime.Now.AddHours(-1);
Modificato: ho estrarre un asnwer da 0.123.589,898963 millions
Essi suggeriscono conversione SYSTEMTIME a FILETIME, che è un numero di zecche dal un'epoca. È quindi possibile aggiungere il numero richiesto di "tick" (ad esempio intervalli di 100ns) per indicare l'ora e riconvertire in SYSTEMTIME.
La struttura ULARGE_INTEGER è un'unione con un membro QuadPart, che è un numero a 64 bit, che può essere aggiunto direttamente a (su hardware recente).
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;
}
Se si desidera aggiungere un uso un'ora SYSTEMTIME s2 = add(s1, 60*60)
Che lingua stai usando ? E cosa intendi per SYSTEMTIME? –
@Marco scusa sono arrivato in ritardo ..e sì thanxx man ha funzionato bene per me – Peter