How do I get today's date in C# in mm/dd/yyyy format?
I need to set a string variable to today's date (preferably without the year), but there's got to be a better way than building it month-/-day one piece at a time.
BTW: I'm in the US so M/dd would be correct, e.g. September 11th is 9/11.
Note: an answer from kronoz came in that discussed internationalization, and I thought it was awesome enough to mention since I can't make it an 'accepted' answer as well.
DateTime.Now.ToString("dd/MM/yyyy");
DateTime.Now.Date.ToShortDateString()
I think this is what you are looking for
Not to be horribly pedantic, but if you are internationalising the code it might be more useful to have the facility to get the short date for a given culture, e.g.:-
using System.Globalization;
using System.Threading;
...
var currentCulture = Thread.CurrentThread.CurrentCulture;
try {
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us");
string shortDateString = DateTime.Now.ToShortDateString();
// Do something with shortDateString...
} finally {
Thread.CurrentThread.CurrentCulture = currentCulture;
}
Though clearly the "m/dd/yyyy" approach is considerably neater!!
Or without the year:
DateTime.Now.ToString("M/dd")
If you want it without the year:
DateTime.Now.ToString("MM/DD");
DateTime.ToString() has a lot of cool format strings:
string today = DateTime.Today.ToString("M/d");
DateTime.Now.Date.ToShortDateString()
is culture specific.
It is best to stick with:
DateTime.Now.ToString("d/MM/yyyy");
Source: Stackoverflow.com