Is there a better .net way to check if a DateTime has occured \'today\' then the code below?
if ( newsStory.WhenAdded.Day == DateTime.Now.Day &&
if( newsStory.Date == DateTime.Today )
{
// happened today
}
My solution:
private bool IsTheSameDay(DateTime date1, DateTime date2)
{
return (date1.Year == date2.Year && date1.DayOfYear == date2.DayOfYear);
}
if (newsStory.ToShortDateString() == DateTime.Today.ToShortDateString())
return "Todtay";
FYI,
newsStory.Date == DateTime.Today
will return the same compare result as coding
newsStory == DateTime.Today
where newsStory
is a DateTime
object
.NET is smart enough to determine you want to compare based on Date only and uses that for the internal Compare. Not sure why, and actually having trouble finding documentation for this behaviour.
if (newsStory.WhenAdded.Date == DateTime.Today)
{
}
else
{
}
Should do the trick.
As Guillame suggested in a comment, compare values of Date
properties:
newStory.Date == DateTime.Now.Date