Jak uzyskać aktualną porę dnia?


269

Jak uzyskać bieżącą godzinę (nie datę i godzinę)?

Przykład: 17:42:12

Odpowiedzi:


391

DateTime.Now.TimeOfDaydaje 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


25
DateTime.Now.ToShortTimeString () robi to samo co druga sugestia.
Kyle Trauberman

4
cóż, prawie tak samo, zwraca ciąg, ale brakuje części sekundy.
Kyle Trauberman

12
.ToString („GG: mm: ss tt”) da ci 17:42:12, a .ToString („h: mm: ss tt”) da ci 17:42:12.
Merenzo

6
@Kyle - niezupełnie dokładne. ToShortTimeString zwraca czas w wybranym przez użytkownika formacie krótkiego czasu, określonym w ustawieniach regionu systemu Windows.
BlackWasp,


43

Inna opcja wykorzystująca String.Format ()

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

25

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)

3
@Anar, rozwiązałem twoje -1. Pytanie brzmi „Jak uzyskać porę dnia” , na które wszystkie odpowiedzi odpowiadają. Twoje głosowanie w dół jest spowodowane tym, że czytasz pytanie jako „Jak sformatować godziny jak 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.
CodeCaster,

Po ponownym przeczytaniu pytania myślę, że się nie mylisz. Ale też się nie mylę, ponieważ jeśli jest to pytanie ogólne, jak proponujesz, wówczas większość osób udzielających odpowiedzi źle zrozumiała pytanie, ponieważ ich odpowiedzi nie są ogólne, ale szczegółowe. Podsumowując, myślę, że pytanie mogło być znacznie jaśniejsze. Nawiasem mówiąc, co oznacza „I unded your -1's”?
anar khalilov

@Anar jak formatowanie DateTime.Nowjako 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.
CodeCaster,

1
Miał nie być żadnych misundestandings musieliby umieścić wszystkie wersje nie coś , że nastąpi wcześniej na umyśle. Wszyscy wiemy, że SO jest bardzo hojny dla ludzi, którzy starają się odpowiedzieć. Ale tak, nie odbiegajmy zbytnio od tematu. Mogę tylko powiedzieć, że przejrzę wszystkie moje -1 i podejmę decyzję ponownie.
anar khalilov


15

No to ruszamy:

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

2
Termin tpowinien być pisany wielkimi literami. Naprawiono to dla twojego.
programista

12

Będzie lepiej, spróbuj tego

    DateTime.Now.ToShortTimeString();

W tym celu nie trzeba określać formatu czasu.


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

po prostu spróbuj Wykorzystaj w pełni do swoich potrzeb



8

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 .


5

To może być możliwe rozwiązanie:

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

3

Aby obliczyć bieżącą datę i godzinę:

DateTime theDate = DateTime.UtcNow;

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

MessageBox.Show(custom);


2

To pokaże tylko aktualny czas, w formacie 24-godzinnym:

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

Pozdrawiam
K.



2
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 ...


1

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



-6

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

DateTimeWstawiania na końcu linii.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.