Risposte:
DateTime.Now.TimeOfDay
te 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
Prova questo:
DateTime.Now.ToString("HH:mm:ss tt")
Per altri formati, è possibile controllare questo sito: Formato data e ora C #
Un'altra opzione che utilizza String.Format ()
string.Format("{0:HH:mm:ss tt}", DateTime.Now)
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)
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.
DateTime.Now
di 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.
Eccoci qui:
DateTime time = DateTime.Now;
Console.WriteLine(time.ToString("h:mm:ss tt"));
t
tempo dovrebbe essere capitalizzato. Risolto il problema per il tuo.
Datetime.TimeOfDay
restituisce ae TimeSpan
potrebbe essere quello che stai cercando.
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 .
Questa può essere una possibile soluzione:
DateTime now = DateTime.Now;
string time = now.ToString("T");
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond
molto semplice DateTime.Now.ToString("hh:mm:ss tt")
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 ...
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
Usa il codice qui sotto
DateTime.Now.ToString("h:mm:ss tt")
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' DateTime
inserimento alla fine della riga.