Odpowiedzi:
DateTime.Now.TimeOfDay
daje ci to jako TimeSpan
(od północy).
DateTime.Now.ToString("h:mm:ss tt")
daje ci to jako ciąg .
Data i godzina odniesienia: https://msdn.microsoft.com/en-us/library/system.datetime
Spróbuj tego:
DateTime.Now.ToString("HH:mm:ss tt")
W przypadku innych formatów możesz sprawdzić tę stronę: C # Format godziny i godziny
Inna opcja wykorzystująca String.Format ()
string.Format("{0:HH:mm:ss tt}", DateTime.Now)
Aktualny czas z oznaczeniem 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)
Aktualny czas z wykorzystaniem notacji 0-23 godziny:
DateTime.Now.ToString("HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
DateTime.Now.ToString("HH:mm:ss.fff", System.Globalization.DateTimeFormatInfo.InvariantInfo)
5:00 PM
” , podczas gdy tylko OP (i wyraźnie) podało ten konkretny format daty jako przykład. Nawet przegłosowałeś odpowiedź @ Musikero31 , podczas gdy wspomniano o stronie, na której każdy może wyszukać szukany ciąg formatu.
DateTime.Now
jako ciąg wymaga się formatu, musieli umieścić w czymś . Nie oznacza to, że są to złe odpowiedzi, ale jeśli uważasz, że powinien istnieć inny format, możesz je edytować. Miałem na myśli, że głosowałem za odrzuconymi odpowiedziami.
No to ruszamy:
DateTime time = DateTime.Now;
Console.WriteLine(time.ToString("h:mm:ss tt"));
t
powinien być pisany wielkimi literami. Naprawiono to dla twojego.
Datetime.TimeOfDay
zwraca a TimeSpan
i może być tym, czego szukasz.
Uzyskaj bieżącą datę i godzinę, a następnie użyj jej części czasu. Spójrz na możliwości formatowania ciągu daty i godziny w dokumentach MSDN .
To może być możliwe rozwiązanie:
DateTime now = DateTime.Now;
string time = now.ToString("T");
var CurDate= DateTime.Now;
CurDate.Hour;
CurDate.Minute;
CurDate.Millisecond
bardzo prosty DateTime.Now.ToString("hh:mm:ss tt")
MyEmail.Body = string.Format("The validation is done at {0:HH:mm:ss} Hrs.",DateTime.Now);
Można użyć {0:HH:mm:ss}
, {0:HH:mm:ss.fff}
, {0:DD/mm/yyy HH:mm:ss}
, itd ...
Eksperymentuję również z tym i te strony też są pomocne. Najpierw główna klasa ... https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx
Teraz niektóre formaty specyfikatorów dla metody ToString ... https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo(v=vs.110).aspx
Przykład:
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();
}
}
}
Rzuciłem tam metodę TimeOfDay tylko po to, aby pokazać, że otrzymujesz domyślny czas 24-godzinny, jak podano „czas od północy”
Możesz użyć mojej metody geter (); :-RE
Użyj poniższego kodu
DateTime.Now.ToString("h:mm:ss tt")
Spróbuj tego. Działa dla mnie w aplikacji sieci Web architektury 3tier.
"'" + DateTime.Now.ToString() + "'"
Proszę pamiętać o pojedynczych cytatach we wstawionym zapytaniu.
Na przykład:
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() + "')";
DateTime
Wstawiania na końcu linii.