Wie erhält man die aktuelle Tageszeit?

269

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

Beispiel: 17:42:12 Uhr

Yahia
quelle

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

Mark Brackett
quelle
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
46

Versuche dies:

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

Für andere Formate können Sie diese Site überprüfen: C # DateTime Format

Musikero31
quelle
43

Eine weitere Option mit String.Format ()

string.Format("{0:HH:mm:ss tt}", DateTime.Now)
Chris Fulstow
quelle
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)
Oppositionell
quelle
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()
benPearce
quelle
15

Auf geht's:

 DateTime time = DateTime.Now;
 Console.WriteLine(time.ToString("h:mm:ss tt"));
praguanisch
quelle
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.

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

Probieren Sie es einfach aus

Gupta
quelle
9

Datetime.TimeOfDaygibt a zurück TimeSpanund könnte das sein, wonach Sie suchen.

Stefan Schultze
quelle
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 .

Greg D.
quelle
5

Dies kann eine mögliche Lösung sein:

DateTime now = DateTime.Now;
string time = now.ToString("T");
Hannan Hossain
quelle
3

So berechnen Sie die aktuelle Datums- und Uhrzeitangabe:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);
Sadhana
quelle
3
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond
Sarat Chandra
quelle
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.

Khb
quelle
2

sehr einfach DateTime.Now.ToString("hh:mm:ss tt")

Ranjit Singh
quelle
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 ...

David Castro
quelle
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

Douglas G. Allen
quelle
1

Verwenden Sie den folgenden Code

DateTime.Now.ToString("h:mm:ss tt")
Bijeesh Raghavan
quelle
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.

Albert
quelle