Laden...

uhrzeit abfragen "hh:mm:ss"

Erstellt von handycommander vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.470 Views
handycommander Themenstarter:in
415 Beiträge seit 2006
vor 17 Jahren
uhrzeit abfragen "hh:mm:ss"

hallo,

ich möchte meine uhrzeit abfragen, in dem format "hh:mm:ss"... (OHNE datum!!)
ich habe es so gelöst...


private void timer1_Tick(object sender, EventArgs e)
        {
            textBox1.Text = DateTime.Now.TimeOfDay.Hours + ":" + DateTime.Now.TimeOfDay.Minutes + ":" + DateTime.Now.TimeOfDay.Seconds;
        }

jedoch nicht in meinem format 🙁
die ausgabe lautet so:
z.B. 13:45:1
es fehlst also bei den sekunden (oder besser gesagt bei zahlen unter 10) die "0" vor der zahl!
wie kann ich jedoch die zeit im format "hh:mm:ss" anzeigen?!

danke

N
750 Beiträge seit 2004
vor 17 Jahren

String.Format ==> Forumssuche!

?( wer suchet, der findet auch! :]

2.082 Beiträge seit 2005
vor 17 Jahren

😭

DateTime.Now.ToShortTimeString()

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

handycommander Themenstarter:in
415 Beiträge seit 2006
vor 17 Jahren

aber bei DateTime.Now.ToShortTimeString() ist ein zeitformat von hh:mm
und nicht von hh:mm:ss

T
243 Beiträge seit 2006
vor 17 Jahren

Na dann halt:

DateTime.Now.ToLongTimeString()

😉

handycommander Themenstarter:in
415 Beiträge seit 2006
vor 17 Jahren

ah danke 🙂

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo handycommander,

diese Nachfrage zeigt mir, dass du die Doku noch zu wenig nutzt. Wobei man von ToShortTimeString zu ToLongTimeString fast ohne Doku kommen müsste. Insgesamt bitte etwas weniger fragen und etwas mehr nachdenken/nachgucken. Vielen Dank!

herbivore

S
95 Beiträge seit 2006
vor 17 Jahren

Hi handycommander,

aus der MSDN:

  
using System;  
using System.Globalization;   
  
public class MainClass {   
   public static void Main(string[] args)  {  
       DateTime dt = DateTime.Now;  
       String[] format = {  
           "d", "D",  
           "f", "F",  
           "g", "G",  
           "m",  
           "r",  
           "s",  
           "t", "T",  
           "u", "U",  
           "y",  
           "dddd, MMMM dd yyyy",  
           "ddd, MMM d \"'\"yy",  
           "dddd, MMMM dd",  
           "M/yy",  
           "dd-MM-yy",  
       };  
       String date;  
       for (int i = 0; i < format.Length; i++) {  
           date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);  
           Console.WriteLine(String.Concat(format[i], " :" , date));  
       }  
   
  /** Output.  
   *  
   * d :08/17/2000  
   * D :Thursday, August 17, 2000  
   * f :Thursday, August 17, 2000 16:32  
   * F :Thursday, August 17, 2000 16:32:32  
   * g :08/17/2000 16:32  
   * G :08/17/2000 16:32:32  
   * m :August 17  
   * r :Thu, 17 Aug 2000 23:32:32 GMT  
   * s :2000-08-17T16:32:32  
   * t :16:32  
   * T :16:32:32  
   * u :2000-08-17 23:32:32Z  
   * U :Thursday, August 17, 2000 23:32:32  
   * y :August, 2000  
   * dddd, MMMM dd yyyy :Thursday, August 17 2000  
   * ddd, MMM d "'"yy :Thu, Aug 17 '00  
   * dddd, MMMM dd :Thursday, August 17  
   * M/yy :8/00  
   * dd-MM-yy :17-08-00  
   */  
   }  
}  
  

//liefert dein Ergebnis
DateTime.Now.ToString("T");

Das größte Misstrauensvotum gegen Gott ist ein Blitzableiter auf dem Kirchturm! 😁

T
223 Beiträge seit 2006
vor 17 Jahren

Hi,

Als ich damals so ein Problem in PHP hatte und ich mich mit den Zeitfunktionen nicht auskannte habe ich mir eine eigene Lösung gebastelt. Ich habe die Minuten/Sekunden abgefragt und wenn sie kleiner 10 waren habe ich eine 0 vorangestelt.


if (Sekunden < 10)
  "0" + Sekunden; 

In C# muss bestimmt auch noch Sekunden in eine Zahl gecastet werden und dann wieder zurück in einen String, aber so hatte ich es in PHP gelöst.

Gruß Thomas

2.082 Beiträge seit 2005
vor 17 Jahren

Hallo Thomas B,

dein Weg ist etwas umständlich gedacht oder nicht? Das was du mit deiner Abfrage machst, dann in string casten kannst du genausogut so machen:

string.Format("{0:00}", DateTime.Now.Seconds);

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

T
223 Beiträge seit 2006
vor 17 Jahren

Ich bin noch neu in C#, mein Beispiel bezog sich auch auf PHP, wo ich diese Technik angewandt habe (Casten nicht nötig). Ich wollte damit auch nur darauf hinweisen, dass manchmal eine Lösung garnicht so weit entfernt ist und man sich mit einfachen Mitteln helfen kann.

T
243 Beiträge seit 2006
vor 17 Jahren

Aber was ist denn noch einfacher als DateTime.Now.ToLongTimeString() ? Zumal In VS durch IntelliSense ja auch noch alles wunderbar vorgelegt wird... 🤔