Як отримати поточну дату без часу?


130

Я можу отримати дату та час, використовуючи:

DateTime now = DateTime.Now;

Як я можу отримати поточну дату та час окремо у самому форматі DateTime?

Я не використовую діалогове вікно вибору DateTime в ASP.NET (C #).

Відповіді:


226

Ну, ви можете отримати просто сьогоднішню дату як DateTimeвикористання Todayвластивості:

 DateTime today = DateTime.Today;

або загальніше, ви можете використовувати Dateвластивість. Наприклад, якщо ви хотіли дати UTC, ви можете використовувати:

 DateTime dateTime = DateTime.UtcNow.Date;

Не зовсім зрозуміло, потрібно це чи ні, хоча ... якщо ви просто хочете надрукувати дату, ви можете використовувати:

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

або використовувати явний формат:

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

Дізнайтеся більше про стандартні та спеціальні рядки формату дати / часу. Залежно від вашої ситуації ви також можете вказати культуру.

Якщо ви хочете більш виразний API дати / часу, який дозволяє говорити про дати окремо від часу, ви можете подивитися проект Noda Time, який я розпочав. Він ще не готовий до виробництва, але ми б хотіли почути, що ви хочете зробити з ним ...


33

Дивіться, тут ви можете отримати лише дату, пропустивши рядок формату. Ви можете отримати інший формат дати відповідно до вашої вимоги, як зазначено нижче для поточної дати:

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

Результат: "9/1/2015"

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

Результат: "9-1-2015"

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

Результат: "2015-09-01"

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

Результат: "2015-09-01 09:20:10"

Для отримання більш детальної інформації див. Посилання MSDN для спеціальних рядків дати та часу



30

Поточний час :

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

Поточна дата :

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

11

Ви можете використовувати наступний код, щоб отримати дату та час окремо.

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

Ви також можете перевірити MSDN для отримання додаткової інформації.


10

У .NET немає вбудованого типу, що відповідає лише даті.

Конвенція полягає у використанні DateTimeзначень часу, встановлених на півночі.

Статична DateTime.Todayвластивість дасть вам сьогоднішню дату.



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



0

Я думаю, що вам потрібні окремі частини дати (наприклад, день, місяць, рік)

DateTime сьогодні = DateTime.Today;

Не буде працювати для вашої справи. Ви можете отримати дату окремо, тому вам не потрібна змінна, todayщоб бути DateTimeтипом, тому давайте просто надати todayзмінну intType, оскільки день є лише int. Тож сьогодні 10 березня 2020 року тоді результат

int сьогодні = DateTime.Today.Day;

int month = DateTime.Today.Month;

int рік = DateTime.Today.Year;

MessageBox.Show (сьогодні.ToString () + "- це день." + Month.ToString () + "- це місяць." + Year.ToString () + "- це рік");

буде " 10 - це день. 3 - це місяць. 2020 - це рік"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.