How to get the current date without the time?

See, here you can get only date by passing a format string. You can get a different date format as per your requirement as given below for current date:


Result : "9/1/2015"


Result : "9-1-2015"


Result : "2015-09-01"

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

Result : "2015-09-01 09:20:10"

For more details take a look at MSDN reference for Custom Date and Time Format Strings

Use DateTime.Today property. It will return date component of DateTime.Now. It is equivalent of DateTime.Now.Date.
Starting from .NET 6 you might also consider using DateOnly and TimeOnly

Well, you can get just today's date as a DateTime using the Today property:

 DateTime today = DateTime.Today;

or more generally, you can use the Date property. For example, if you wanted the UTC date you could use:

 DateTime dateTime = DateTime.UtcNow.Date;

It's not very clear whether that's what you need or not though... if you're just looking to print the date, you can use:


or use an explicit format:


See more about standard and custom date/time format strings. Depending on your situation you may also want to specify the culture.

If you want a more expressive date/time API which allows you to talk about dates separately from times, you might want to look at the Noda Time project which I started. It's not ready for production just yet, but we'd love to hear what you'd like to do with it...

Current Time :


Current Date :