it-roy-ru.com

Лучший способ создать Midnight DateTime в C #

Мне нужно создать полночь DateTime

Я только что сделал это:

DateTime endTime = DateTime.Now;
endTime.Subtract(endTime.TimeOfDay);

Еще не проверял, я предполагаю, что это работает, но есть ли лучший/более чистый способ?

66
endian

Просто используйте foo.Date, или DateTime.Today для сегодняшней даты

147
Marc Gravell
13
WebDude

DateTime.Today

12
mmiika
DateTime endTime = DateTime.Now.Date;

Теперь endTime.TimeOfDay.ToString() возвращает "00:00:00"

11
zendar

Вы можете использовать DateTime.Today с точными секундами полуночи. 

    DateTime today = DateTime.Today;
    DateTime mid = today.AddDays(1).AddSeconds(-1);
    Console.WriteLine(string.Format("Today: {0} , Mid Night: {1}", today.ToString(), mid.ToString()));

    Console.ReadLine();

Это должно напечатать:

Today: 11/24/2016 10:00:00 AM , Mid Night: 11/24/2016 11:59:59 PM
5
Aruna
var dateMidnight = DateTime.ParseExact(DateTime.Now.ToString("yyyyMMdd"), "yyyyMMdd", CultureInfo.InvariantCulture);
0
Peter