La ligne de code DateTime d = DateTime.Today;
résulte en 10/12/2011 12:00:00 AM
. Comment puis-je obtenir uniquement la partie date. J'ai besoin d'ignorer la partie heure lorsque je compare deux dates.
DateTime
est un type de données utilisé pour stocker à la fois Date
et Time
. Mais il fournit des propriétés pour obtenir la partie Date
.
Vous pouvez obtenir la partie Date à partir de Date
Property.
http://msdn.Microsoft.com/en-us/library/system.datetime.date.aspx
DateTime date1 = new DateTime(2008, 6, 1, 7, 47, 0);
Console.WriteLine(date1.ToString());
// Get date-only portion of date, without its time.
DateTime dateOnly = date1.Date;
// Display date using short date string.
Console.WriteLine(dateOnly.ToString("d"));
// Display date using 24-hour clock.
Console.WriteLine(dateOnly.ToString("g"));
Console.WriteLine(dateOnly.ToString("MM/dd/yyyy HH:mm"));
// The example displays the following output to the console:
// 6/1/2008 7:47:00 AM
// 6/1/2008
// 6/1/2008 12:00 AM
// 06/01/2008 00:00
Il n'y a aucun moyen de "jeter" la composante temps.
DateTime.Today
est identique à:
DateTime d = DateTime.Now.Date;
Si vous voulez seulement afficher seulement la partie de la date, faites simplement cela - utilisez ToString
avec la chaîne de format dont vous avez besoin.
Par exemple, en utilisant le chaîne de format standard "D" (spécificateur de format de date longue):
d.ToString("D");
Lorsque vous comparez uniquement la date des datatimes, utilisez la propriété Date. Donc, cela devrait bien fonctionner pour vous
datetime1.Date == datetime2.Date
DateTime d = DateTime.Today.Date;
Console.WriteLine(d.ToShortDateString()); // outputs just date
si vous souhaitez comparer les dates, en ignorant la partie heure, utilisez les propriétés DateTime.Year
et DateTime.DayOfYear
.
extrait de code
DateTime d1 = DateTime.Today;
DateTime d2 = DateTime.Today.AddDays(3);
if (d1.Year < d2.Year)
Console.WriteLine("d1 < d2");
else
if (d1.DayOfYear < d2.DayOfYear)
Console.WriteLine("d1 < d2");
vous pouvez utiliser un formatstring
DateTime time = DateTime.Now;
String format = "MMM ddd d HH:mm yyyy";
Console.WriteLine(time.ToString(format));