Как получить текущую дату без времени?

Я могу получить дату и время с помощью:

DateTime now = DateTime.Now;

Как я могу получить текущую дату и время отдельно в самом формате DateTime?

Я не использую диалоговое окно DateTime picker в ASP.NET (C#).

Решение

Можно получить только сегодняшнюю дату как 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, который я начал. Он еще не готов к производству, но мы с удовольствием послушаем, что вы хотели бы с ним сделать...

Комментарии (0)

Используйте свойство DateTime.Today. Оно вернет компонент даты DateTime.Now. Это эквивалентно DateTime.Now.Date.

Комментарии (0)

Текущее Время :

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

Текущая Дата :

DateTime.Today.ToString("dd-MM-yyyy");
Комментарии (0)

Видите, здесь вы можете получить только дата путем передачи строки формата. Вы можете получить другой формат даты согласно вашему требованию, как указано ниже на текущую дату:

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 или ссылка для пользовательских форматов даты и времени строки

Комментарии (0)

Вы можете использовать следующий код, чтобы получить дату и время отдельно.

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

Вы также можете проверить в MSDN для получения дополнительной информации.

Комментарии (0)

В .NET не существует встроенного типа "только дата".

Принято использовать DateTime с временной частью, установленной на полночь.

Свойство static DateTime.Today даст вам сегодняшнюю дату.

Комментарии (0)

Использовать

txtdate.Text = DateTime.Today.ToString("dd-MM-yyyy");
Комментарии (0)
string now = Convert.ToString(DateTime.Now.ToShortDateString());
Console.WriteLine(now);
Console.ReadLine();
Комментарии (0)

за месяц

DateTime.Now.ToString("MM");

за день

DateTime.Now.ToString("dd");

за год

DateTime.Now.ToString("yyyy");
Комментарии (0)