webForumDet fria alternativet

Räkna ut antal timmar som är kvar

.NET

4 svar · 597 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Jag försöker få fram hur många timmar som återstår innan man får köra en funktion. Det finns 2 parametrar: tiden då man senast exekverade funktionen och en parameter där man anger hur många timmar som ska gå innan man får exekvera funktionen igen. Tiden som är kvar ska skrivas ut i hela timmar. Vet inte riktigt hur jag ska lösa det, jag har gjort så här:

a.AddHours(b).Hour - DateTime.Now.Hour;

Där a är tiden (DateTime) då man senast exekverade funktionen och b (int) är det antal timmar som måste gå innan man får köra funktionen igen. Men det här fungerar ju inte om man exempelvis kör funktionen 1 timme innan midnatt och 2 timmar senare, eller om man har olika datumformat (12h och 24h). Försöker subtrahera hela datumsträngar men lyckas inte med det heller.

Medlem sedan okt. 20041 556 inlägg
#2

datediff()?
Använd parametern "h", för timmar.

Medlem sedan sep. 2005673 inlägg
#3

Jag löste det :) men på ett annat sätt

((TimeSpan)(a.AddHours(b) - DateTime.Now)).Hours + 1
Medlem sedan sep. 2005673 inlägg
#4

Hm, mitt sätt funkade visst inte ändå över olika dygn, den jämför bara timmar utan att ta hänsyn till datum. Hur funkar DateDiff i c#, det verkar ju vara nån vb-gojja?

Medlem sedan sep. 2005673 inlägg
#5

Nudå, nu tror jag det är löst. :) Man kunde använda TimeSpan.TotalHours och än så länge fungerar det fint!

247 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)