Come si ottiene l'ora corrente del giorno?


269

Come si ottiene l'ora corrente (non la data E l'ora)?

Esempio: 17:42:12 PM

Risposte:


391

DateTime.Now.TimeOfDayte lo dà come TimeSpan(da mezzanotte).

DateTime.Now.ToString("h:mm:ss tt")te lo dà come una stringa .

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


25
DateTime.Now.ToShortTimeString () fa lo stesso del secondo suggerimento.
Kyle Trauberman,

4
beh, quasi lo stesso, restituisce una stringa ma manca la seconda parte del tempo.
Kyle Trauberman,

12
.ToString ("HH: mm: ss tt") ti darebbe 17:42:12 PM, mentre .ToString ("h: mm: ss tt") ti dà 17:42:12 PM.
Merenzo,

6
@Kyle - non abbastanza preciso. ToShortTimeString restituisce l'ora nel formato di breve periodo selezionato dall'utente, come specificato nelle impostazioni della regione di Windows.
BlackWasp,


43

Un'altra opzione che utilizza String.Format ()

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

25

Ora corrente con designatore AM / PM:

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

Ora corrente utilizzando la notazione 0-23 ore:

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

3
@Anar, ho annullato i tuoi -1. La domanda è "Come posso ottenere l'ora del giorno" , a cui tutte le risposte rispondono. Il tuo downvoting è perché hai letto la domanda come "Come formattare le ore come 5:00 PM" , mentre solo OP (ed esplicitamente) ha menzionato quel formato di data specifico come esempio. Hai persino ridimensionato la risposta di @ Musikero31 , mentre menziona la pagina in cui chiunque può cercare la stringa di formato che sta cercando.
CodeCaster

Dopo aver letto di nuovo la domanda, penso che non ti sbagli. Ma non sbaglio neanche perché se questa è una domanda generale come lei propone, allora la maggior parte dei rispondenti ha frainteso la domanda poiché le loro risposte non sono generali ma specifiche. Tutto sommato, penso che la domanda avrebbe potuto essere molto più chiara. A proposito, cosa significa "I undid your -1's"?
anar khalilov,

@Anar quanto la formattazione DateTime.Nowdi una stringa richiede un formato, hanno dovuto inserire qualcosa . Ciò non rende le risposte sbagliate, ma se pensi che ci dovrebbe essere un altro formato, sentiti libero di modificarle. Volevo dire che ho votato a favore delle risposte declassate.
CodeCaster

1
Se non ci fossero stati dei malintesi, avrebbero messo in mente tutte le versioni e non qualcosa che viene prima in mente. Sappiamo tutti che SO è molto generoso per le persone che si sforzano di rispondere. Ma sì, non allontaniamoci molto dall'argomento. Tutto quello che posso dire è che rivedrò tutti i miei -1 e deciderò di nuovo.
anar khalilov il

24
DateTime.Now.TimeOfDay

o

DateTime.Now.ToShortTimeString()

15

Eccoci qui:

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

2
Il ttempo dovrebbe essere capitalizzato. Risolto il problema per il tuo.
Programmatore,

12

Sarà meglio, prova questo

    DateTime.Now.ToShortTimeString();

Per questo non è necessario specificare il formato per l'ora.


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

basta provare È pieno per le tue necessità


9

Datetime.TimeOfDayrestituisce ae TimeSpanpotrebbe essere quello che stai cercando.


8

Ottieni la data e l'ora correnti, quindi usa solo la sua parte temporale. Guarda le possibilità per la formattazione di una stringa di data e ora nei documenti MSDN .


5

Questa può essere una possibile soluzione:

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

3

Per calcolare il datetime corrente:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);

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

2

Questo ti mostrerà solo l'ora corrente, nel formato 24 ore:

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

Saluti
K



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

Può usare {0:HH:mm:ss}, {0:HH:mm:ss.fff}, {0:DD/mm/yyy HH:mm:ss}, ecc ...


1

Sto sperimentando anche questo e trovo utili anche queste pagine. Prima la classe principale ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx

Ora alcuni formati di identificatore per il metodo ToString ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx

Esempio:

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();

        }
    }
}

Ho lanciato quel metodo TimeOfDay lì dentro solo per mostrare che ottieni un valore predefinito di 24 ore come è indicato "l'ora da mezzanotte"

Puoi usare il mio metodo geter (); :-D



-6

Prova questo. Funziona per me in 3tier Architecture Web Application.

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

Ricorda le virgolette singole nella query di inserimento.

Per esempio:

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() + "')";

L' DateTimeinserimento alla fine della riga.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.