Wie erhält man die aktuelle Tageszeit?


269

Wie erhält man die aktuelle Uhrzeit (nicht Datum UND Uhrzeit)?

Beispiel: 17:42:12 Uhr

Antworten:


391

DateTime.Now.TimeOfDaygibt es dir als TimeSpan(ab Mitternacht).

DateTime.Now.ToString("h:mm:ss tt")gibt es dir als String .

DateTime-Referenz: https://msdn.microsoft.com/en-us/library/system.datetime


25
DateTime.Now.ToShortTimeString () macht dasselbe wie der zweite Vorschlag.
Kyle Trauberman

4
Nun, fast das gleiche, es gibt eine Zeichenfolge zurück, aber es fehlt der Sekundenanteil der Zeit.
Kyle Trauberman

12
.ToString ("HH: mm: ss tt") würde Ihnen 17:42:12 Uhr geben, während .ToString ("h: mm: ss tt") Ihnen 17:42:12 Uhr geben würde.
Merenzo

6
@ Kyle - nicht ganz genau. ToShortTimeString gibt die Zeit im ausgewählten Kurzzeitformat des Benutzers zurück, wie in den Regionseinstellungen von Windows angegeben.
BlackWasp


43

Eine weitere Option mit String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)

25

Aktuelle Zeit mit AM / PM-Bezeichnung:

DateTime.Now.ToString("hh:mm:ss tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("hh:mm:ss.fff tt", System.Globalization.DateTimeFormatInfo.InvariantInfo)

Aktuelle Zeit in 0-23-Stunden-Notation:

DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)

3
@ Anar, ich habe deine -1's rückgängig gemacht. Die Frage lautet "Wie erhalte ich die Tageszeit?" , Die alle Antworten beantworten. Ihr Downvoting ist, weil Sie die Frage als "Wie formatiere5:00 PM ich Stunden wie " gelesen haben , während OP nur (und explizit) dieses bestimmte Datumsformat als Beispiel erwähnte. Sie haben sogar die Antwort von @ Musikero31 abgelehnt , während die Seite erwähnt wird, auf der jeder die gesuchte Formatzeichenfolge nachschlagen kann.
CodeCaster

Nachdem ich die Frage noch einmal gelesen habe, denke ich, dass Sie sich nicht irren. Aber ich liege auch nicht falsch, denn wenn dies eine allgemeine Frage ist, wie Sie vorschlagen, haben die meisten Antwortenden die Frage falsch verstanden, da ihre Antworten nicht allgemein, sondern spezifisch sind. Alles in allem denke ich, dass die Frage viel klarer hätte sein können. Was bedeutet übrigens "Ich habe deine -1 aufgehoben"?
Anar Khalilov

@Anar als Formatierung DateTime.Nowals String erfordert ein Format, sie mussten etwas eingeben . Das macht es nicht zu schlechten Antworten, aber wenn Sie der Meinung sind, dass es ein anderes Format geben sollte, können Sie diese jederzeit bearbeiten. Ich meinte, ich habe die herabgestimmten Antworten positiv bewertet.
CodeCaster

1
Hätte es keine misundestandings sein sie nicht setzen alle Versionen haben würde , etwas , das zuerst auf den Sinn kommt. Wir alle wissen, dass SO sehr großzügig gegenüber Menschen ist, die sich bemühen, zu antworten. Aber ja, lassen Sie uns nicht viel vom Thema abweichen. Ich kann nur sagen, dass ich alle meine -1 überprüfen und erneut entscheiden werde.
Anar Khalilov

24
DateTime.Now.TimeOfDay

oder

DateTime.Now.ToShortTimeString()

15

Auf geht's:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));

2
Die tZeit sollte aktiviert werden. Behoben es für deine.
Programmierer

12

Dies wird besser sein, versuchen Sie dies

    DateTime.Now.ToShortTimeString();

Dazu müssen Sie das Format für die Zeit nicht angeben.


11
DateTime.Now.ToString("yyyy-MM-dd h:mm:ss tt");

Probieren Sie es einfach aus



8

Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit und verwenden Sie dann einfach den Zeitanteil. Sehen Sie sich die Möglichkeiten zum Formatieren einer Datums- / Uhrzeitzeichenfolge in den MSDN-Dokumenten an .


5

Dies kann eine mögliche Lösung sein:

DateTime now = DateTime.Now;
string time = now.ToString("T");

3

So berechnen Sie die aktuelle Datums- und Uhrzeitangabe:

DateTime theDate = DateTime.UtcNow;

string custom = theDate.ToString("d");

MessageBox.Show(custom);

3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond

2

Dies zeigt Ihnen nur die aktuelle Uhrzeit im 24-Stunden-Format:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(DateTime.Now.ToLongTimeString().ToString());
        Console.WriteLine(DateTime.Now.ToShortTimeString().ToString());
        Console.ReadLine();
    }
}

Grüße
K.



2
MyEmail.Body = string.Format("The validation is done at {0:HH:mm:ss} Hrs.",DateTime.Now);

Kann Gebrauch {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}usw ...


1

Ich experimentiere auch damit und finde diese Seiten auch hilfreich. Zuerst die Hauptklasse ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Nun einige Spezifiziererformate für die ToString-Methode ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Beispiel:

using System;

namespace JD
{
    class Program
    {
        public static DateTime get_UTCNow()
        {
            DateTime UTCNow = DateTime.UtcNow;
            int year = UTCNow.Year;
            int month = UTCNow.Month;
            int day = UTCNow.Day;
            int hour = UTCNow.Hour;
            int min = UTCNow.Minute;
            int sec = UTCNow.Second;
            DateTime datetime = new DateTime(year, month, day, hour, min, sec);
            return datetime;
        }

        static void Main(string[] args)
        {
            DateTime datetime = get_UTCNow();            

            string time_UTC = datetime.TimeOfDay.ToString();
            Console.WriteLine(time_UTC);

            Console.ReadLine();

        }
    }
}

Ich habe diese TimeOfDay-Methode dort reingeworfen, um zu zeigen, dass Sie eine Standardzeit von 24 Stunden erhalten, wie angegeben "die Zeit ab Mitternacht".

Sie können meine Getter-Methode () verwenden; :-D


1

Verwenden Sie den folgenden Code

DateTime.Now.ToString("h:mm:ss tt")

Wie unterscheidet sich dies von der am höchsten bewerteten Antwort?
Cray

-6

Probier diese. Es funktioniert für mich in 3tier Architecture Web Application.

"'" + DateTime.Now.ToString() + "'"

Bitte beachten Sie die einfachen Anführungszeichen in der Einfügeabfrage.

Beispielsweise:

string Command = @"Insert Into CONFIG_USERS(smallint_empID,smallint_userID,str_username,str_pwd,str_secquestion,str_secanswer,tinyint_roleID,str_phone,str_email,Dt_createdOn,Dt_modifiedOn) values ("
 + u.Employees + ","
 + u.UserID + ",'"
 + u.Username + "','"
 + u.GetPassword() + "','"
 + u.SecQ + "','"
 + u.SecA + "',"
 + u.RoleID + ",'"
 + u.Phone + "','"
 + u.Email + "','"
 + DateTime.Now.ToString() + "','"
 + DateTime.Now.ToString() + "')";

Das DateTimeEinfügen am Ende der Zeile.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.