Date vs DateTime
Unfortunately, not in the .Net BCL. Dates are usually represented as a DateTime object with the time set to midnight.
As you can guess, this means that you have all the attendant timezone issues around it, even though for a Date object you'd want absolutely no timezone handling.
I created a simple Date struct for times when you need a simple date without worrying about time portion, timezones, local vs. utc, etc.
Date today = Date.Today;
Date yesterday = Date.Today.AddDays(-1);
Date independenceDay = Date.Parse("2013-07-04");
independenceDay.ToLongString(); // "Thursday, July 4, 2013"
independenceDay.ToShortString(); // "7/4/2013"
independenceDay.ToString(); // "7/4/2013"
independenceDay.ToString("s"); // "2013-07-04"
int july = independenceDay.Month; // 7
https://github.com/claycephus/csharp-date
No there isn't. DateTime
represents some point in time that is composed of a date and a time. However, you can retrieve the date part via the Date
property (which is another DateTime
with the time set to 00:00:00
).
And you can retrieve individual date properties via Day
, Month
and Year
.
UPDATE: In .NET 6 the types DateOnly
and TimeOnly
are introduced that represent just a date or just a time.