webForumDet fria alternativet
Logga in / Bli medlem

DateTime problem

.NET

8 svar · 344 visningar · startad av Uwe

Medlem sedan nov. 2003181 inlägg
Trådstart#1

Har surfat runt på forumet men inte hittat riktigt det jag söker. Problemet är när jag vill visa tiden mellan två datumintervall.

DateTime from = Convert.ToDateTime("2005-08-16 08:00:00");
DateTime to = DateTime.Now;
TimeSpan diff = to-from;
Label.Text = ???

Formatet på det jag ska visa vill jag ha i HH:MM:SS, men nu står det helt still... Någon som har ett bra förslag?

/Uwe

Medlem sedan jan. 2004501 inlägg
#2

to-from.toString(formateringssträng typ "HH:MM:SS"); kolla på msdn för förmateringsstängar. Ligger inte datumen på samma dag så kommer du bara få ut timmarna och inte daganra uträknade i timmar.

Medlem sedan nov. 2003181 inlägg
#3

asmodie skrev:

to-from.toString(formateringssträng typ "HH:MM:SS"); kolla på msdn för förmateringsstängar. Ligger inte datumen på samma dag så kommer du bara få ut timmarna och inte daganra uträknade i timmar.

Går det inte att få så att om det inte ligger på samma dag så får man total tid, dvs att om det inte är samma dag så får man tiden i timmar ex 36:20:04?

/Uwe

Medlem sedan juli 2004206 inlägg
#4

Varför inte använda datediff(DateInterval.Hour, from, to) ???

Medlem sedan nov. 2003181 inlägg
#5

desdecado skrev:

Varför inte använda datediff(DateInterval.Hour, from, to) ???

Låter intressant men eftersom jag kodar i c#, och som jag förstår det så är detta en vb-funktion. Jag finner heller ingen som gör nåt liknande tyvärr. :x

Medlem sedan juli 2004206 inlägg
#6

Det är väl bara att använda namespacet microsoft.visualbasic?

Medlem sedan nov. 2003181 inlägg
#7

desdecado skrev:

Det är väl bara att använda namespacet microsoft.visualbasic?

Iofs, men det känns inte som den snyggaste lösningen :OO.

Medlem sedan juli 2004206 inlägg
#8

Snyggaste? Det är en .net-klass, hur snyggt vill du ha det egentligen??? =)

Medlem sedan apr. 20012 266 inlägg
#9
DateTime date1 = new DateTime(2005, 08, 22, 20, 37, 45);
DateTime date2 = new DateTime(2005, 08, 21, 10, 15, 3);

TimeSpan span = date1.Subtract(date2);
Console.WriteLine("{0}:{1}:{2}", (int)span.TotalHours, span.Minutes, span.Seconds);

Ger följande output

34:22:42

261 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)