webForumDet fria alternativet

DateTime problem

8 svar · 342 visningar · startad av Uwe

UweMedlem sedan nov. 2003181 inlägg
#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

asmodieMedlem sedan jan. 2004730 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.

UweMedlem 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

desdecadoMedlem sedan juli 2004213 inlägg
#4

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

UweMedlem 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

desdecadoMedlem sedan juli 2004213 inlägg
#6

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

UweMedlem 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.

desdecadoMedlem sedan juli 2004213 inlägg
#8

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

renholmMedlem sedan apr. 20012 048 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

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb