web-dev-qa-db-fra.com

Meilleure façon de créer une heure de minuit en C #

J'ai besoin de créer un DateTime à minuit

Je viens de faire ceci:

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

Je n'ai pas encore testé, je suppose que cela fonctionne, mais existe-t-il un moyen meilleur/plus propre?

66
endian

Il suffit d'utiliser foo.Date ou DateTime.Today pour la date du jour

147
Marc Gravell
13
WebDude

DateTime.Aujourd'hui

12
mmiika
DateTime endTime = DateTime.Now.Date;

Maintenant, endTime.TimeOfDay.ToString() renvoie "00:00:00"

11
zendar

Vous pouvez utiliser DateTime.Today avec les secondes exactes de minuit. 

    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();

Cela devrait imprimer:

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