Jag får bara ut tal i millisecunder, men jag skulle vilja ha det så här. Det finns ingen färdig funktion, du får skriva en ifsats och välja vilket format du vill visa. Ex. JAg förstår din princip Oskar, men jag är nog fel ute: TotalSeconds är hur många sekunder ditt timespan representerar. Så om du får det svaret så har du ett väldigt, väldigt stort timespan på ett antal år om jag tänker rätt :P Antalet år är närmare bestämt drygt 2007, vilket pekar på att det är ett datum som används, inte en tidsskillnad. " string thing = string.Format("</font> totaltid : <font color=red>{0}</font>sekunder.", totaltTid.TotalSeconds);" @Magnus,Problem med att formatera tid.
Är tiden över en minut, då ville jag ha det utskrivet som e minut och tiondelarna.
Annars så ville jag ha det utskrivet som sekunder, och tiondelarna.
Så här försöker jag:
<code>
DateTime stopTid = DateTime.Now;
TimeSpan totaltTid = stopTid - startTid;
string thing = string.Format("</font> totaltid : <font color=red>{0} </font>sekunder.", totaltTid.TotalSeconds);
'detta är bara en liten del av koden.
</code>
Jag har för mig att det skall finnas en färdig funktion för detta, så att man skall slippa att göra en egen
funktion av det. Är det inte så?
[REDIGERAT]
Jag försöker nu så här, men det ser väldigt mysko ut:
<code>
string thing = string.Format("</font> totaltid : <font color=red>{0}.{1}.{2}</font>", totaltTid.Minutes, totaltTid.Seconds, totaltTid.Milliseconds);
</code>
[REDIGERAT]
Jag försöker fortfarande:
<code>
string thing = string.Format("</font> totaltid : <font color=red>{0},{1} </font>sekunder.", totaltTid.Minutes, totaltTid.Seconds);
</code>
Jag får resultat som ser vettigt ut nu, men är osöker på om det är rätt att göra såhär...!Sv: Problem med att formatera tid.
string thing;
if(totalTid.TotalSeconds > 60)
{
thing = ""; //Formatera för minut + tiondelar
}
else
{
thing = ""; //Formatera för sekunder
}
Sv:Problem med att formatera tid.
<code>
string thing = string.Format("</font> totaltid : <font color=red>{0}</font>sekunder.", totaltTid.TotalSeconds);
</code>
..detta gav ett resultat på 63294722428,7272
Det kan väll inte vara rätt att använda sig av TotalSeconds här?Sv: Problem med att formatera tid.
Sv:Problem med att formatera tid.
Sv: Problem med att formatera tid.
usch... Jag får rysningar längs hela kroppen när jag ser att du hårdkodar in HTML-koder i din kod.
Det skall du INTE göra.
Det du skall göra är att du skapar en asp:label på din sida, och så binder du tiden till den label. Du kan då enkelt ändra vilket utseende som du vill att din tid skall ha utan att behöva ändra i din kod.
<code>
textBox1.Text = string.Format("Tid: {0}:{1}.{2}", timeSpan.Minutes.ToString().PadLeft(2, '0'), timeSpan.Seconds.ToString().PadLeft(2, '0'), timeSpan.Milliseconds.ToString().PadLeft(3, '0'));
</code>
Skall ge dig ett formatet: 00:04.456 om det tog 4 sekunder och 456 hundradelar, tyvärr så kommer minuter alltid syns, vill du inte det så får du lösa det med en if-sats.
- MSv:Problem med att formatera tid.
Istället för att använda PadLeft kan man väl lika gärna göra formateringen direkt i formatparametern,
<code>
textBox1.Text = string.Format("Tid: {0:0}:{1:00}.{2:000}", timeSpan.Minutes, timeSpan.Seconds, timeSpan.Milliseconds);
</code>