Frequently in the course of your code, you will need to get the current date.
Which is very simple - the
Now property of the DateTime object.
var currentDate = DateTime.Now;
This is correct; and also wrong.
Because if you get the actual value:
the value returned is as follows:
7 Aug 2021 17:00:43
It is correct in the sense that the date I am writing this is indeed 7 August.
It is wrong because there is a time component to the date.
This is important because if you are doing any sort of date comparison logic, the time might throw off your comparison.
So a query like this might produce unexpected results:
var ordersToday = db.Orders.Where(x=>x.OrderDate == currentDate);
Time component will restrict the results.
There are two ways around this:
The first is to use the
Date property of the
var currentDate = DateTime.Now.Date; Console.WriteLine(currentDate);
This constructs a new
DateTime object using the current
DateTime, but ignores the time component.
The output is as follows:
7 Aug 2021 00:00:00
An even quicker way is to use the
Today property of the
var currentDate = DateTime.Today;
The benefit of the Date method is it works with any date.