Jak uzyskać aktualną datę bez godziny?


137

Jestem w stanie sprawdzić datę i godzinę za pomocą:

DateTime now = DateTime.Now;

Jak mogę uzyskać bieżącą datę i godzinę oddzielnie w samym formacie DateTime?

Nie używam okna dialogowego selektora daty i godziny w programie ASP.NET (C #).

Odpowiedzi:


233

Cóż, możesz uzyskać tylko dzisiejszą datę jako DateTimekorzystanie z Todaywłaściwości:

 DateTime today = DateTime.Today;

lub bardziej ogólnie, możesz skorzystać z Datewłaściwości. Na przykład, jeśli chcesz mieć datę UTC, możesz użyć:

 DateTime dateTime = DateTime.UtcNow.Date;

Nie jest jasne, czy tego potrzebujesz, czy nie ... jeśli chcesz tylko wydrukować datę, możesz użyć:

Console.WriteLine(dateTime.ToString("d"));

lub użyj wyraźnego formatu:

Console.WriteLine(dateTime.ToString("dd/MM/yyyy"));

Dowiedz się więcej o standardowych i niestandardowych ciągach formatu daty / godziny. W zależności od sytuacji możesz również określić kulturę.

Jeśli potrzebujesz bardziej wyrazistego API daty / czasu, które pozwala rozmawiać o datach oddzielnie od czasu, możesz spojrzeć na projekt Noda Time , który zacząłem. Nie jest jeszcze gotowy do produkcji, ale chcielibyśmy usłyszeć, co chcesz z nim zrobić ...


36

Widzisz, tutaj możesz uzyskać tylko datę, przekazując ciąg formatu. Możesz uzyskać inny format daty zgodnie z wymaganiami, jak podano poniżej dla aktualnej daty:

DateTime.Now.ToString("M/d/yyyy");

Wynik: „9/1/2015”

DateTime.Now.ToString("M-d-yyyy");

Wynik: „9-1-2015”

DateTime.Now.ToString("yyyy-MM-dd");

Wynik: „2015-09-01”

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

Wynik: „2015-09-01 09:20:10”

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją MSDN dotyczącą ciągów niestandardowego formatu daty i godziny



30

Obecny czas :

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

Bieżąca data :

DateTime.Today.ToString("dd-MM-yyyy");

11

Możesz użyć następującego kodu, aby osobno uzyskać datę i godzinę.

DateTime now = DateTime.Now;
string date = now.GetDateTimeFormats('d')[0];
string time = now.GetDateTimeFormats('t')[0];

Możesz również sprawdzić MSDN, aby uzyskać więcej informacji.


10

W platformie .NET nie ma wbudowanego typu tylko do daty.

Konwencja polega na używaniu a DateTimez godziną ustawioną na północ.

Właściwość statyczna DateTime.Todaypoda dzisiejszą datę.



0
string now = Convert.ToString(DateTime.Now.ToShortDateString());
Console.WriteLine(now);
Console.ReadLine();

0

na miesiąc

DateTime.Now.ToString("MM");

na dzień

DateTime.Now.ToString("dd");

na rok

DateTime.Now.ToString("yyyy");


0

Myślę, że potrzebujesz osobnych części daty, takich jak (dzień, miesiąc, rok)

DateTime today = DateTime.Today;

Nie będzie działać w Twoim przypadku. Możesz pobrać datę osobno, więc nie musisz być zmienną todayjako DateTimetyp, więc podajmy po prostu todayzmienną intType, ponieważ dzień jest tylko int. Więc dzisiaj jest 10 marca 2020 r., Wtedy wynik

int dzisiaj = DateTime.Today.Day;

int month = DateTime.Today.Month;

int rok = DateTime.Today.Year;

MessageBox.Show (Today.ToString () + "- to jest dzień." + Month.ToString () + "- to jest miesiąc." + Year.ToString () + "- to jest rok");

byłoby „ 10 - to jest dzień. 3 - to jest miesiąc. 2020 - to jest rok”


0

Możesz użyć w ten DateTime.Now.ToShortDateString()sposób:

var test = $"<b>Date of this report:</b> {DateTime.Now.ToShortDateString()}";
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.