C#: Stringformatierung

.:L

0
Hi ich machs knapp:

ich möchte einen Zeitstring (HHMMSS) formatiert ausgeben (mit format.string).

zeit = textfeld der Ausgabe

So sieht mein Code aus:
string aktuell = Convert.ToString(hour) + Convert.ToString(minute) + Convert.ToString(second);
zeit.Text = aktuell;
string.Format("{0:T}", zeit.Text);

raus kommt allerdigns HHMMSS und nicht HH:MM:SS... verstehe ich die funktion eveltuelle falsch?

gruß
 
Code:
string aktuell = Convert.ToString(hour) +  ":" + Convert.ToString(minute) +  ":" + Convert.ToString(second);

edit: mein post ist mit vorsicht zu genießen, ich kann kein C# und weiß auch nicht genau, was die funktion string.Format macht :)

edit2: okay, dann sorry ;)
 
Dein Code ist zwar fast richtig, aber wenn du dir mal http://msdn.microsoft.com/de-de/library/fht0f5be(VS.80).aspx durchliest, dann stellst du fest, dass hier kein String verwendet wurde. Das was du mit zeit.text übergibst, ist im Beispiel ein datetime. Daher wird es vermutlich nicht klappen.

Wie bekommst du denn deine Zeitangabe? Ich denke nämlich, dass du bereits einen Datetime verwendest, und somit die Zeile aktuell = ... sparen kannst
 
Probiers mal so:

Code:
myTime = DateTime.Now;
zeit.Text = String.Format("{0:T}", myTime);
Dabei hast du aber möglicherweise noch das AM/PM drin, da bin ich mir grad nicht sicher. Oder du verwendest nicht String.Format sondern direkt das für DateTime:

Code:
ci = new CultureInfo("de-DE");
myTime = DateTime.Now;
zeit.Text = myTime.ToString("T", ci);

Ist zwar grad nicht getestet, aber sollte so klappen
 
Code:
myTime = DateTime.Now;
zeit.Text = String.Format("{0:T}", myTime);

So klappts, vielen Dank.
 
ich glaube so wäre es noch etwas einfacher

Code:
uhrzeit = DateTime.Now.ToLongTimeString();
zeit.Text = uhrzeit;

=> 15:14:23
 
Zurück
Oben