var dateString = "2015-11-24";
var date = DateTime.ParseExact(dateString, "yyyy-MM-dd", null);
Console.WriteLine(date);
11/24/2015 12:00:00 AM
Note that passing CultureInfo.CurrentCulture
as the third parameter is identical to passing null
. Or, you can pass a specific culture.
Format Strings
Input string can be in any format that matches the format string
var date = DateTime.ParseExact("24|201511", "dd|yyyyMM", null);
Console.WriteLine(date);
11/24/2015 12:00:00 AM
Any characters that are not format specifiers are treated as literals
var date = DateTime.ParseExact("2015|11|24", "yyyy|MM|dd", null);
Console.WriteLine(date);
11/24/2015 12:00:00 AM
Case matters for format specifiers
var date = DateTime.ParseExact("2015-01-24 11:11:30", "yyyy-mm-dd hh:MM:ss", null);
Console.WriteLine(date);
11/24/2015 11:01:30 AM
Note that the month and minute values were parsed into the wrong destinations.
Single-character format strings must be one of the standard formats
var date = DateTime.ParseExact("11/24/2015", "d", new CultureInfo("en-US"));
var date = DateTime.ParseExact("2015-11-24T10:15:45", "s", null);
var date = DateTime.ParseExact("2015-11-24 10:15:45Z", "u", null);
Exceptions
ArgumentNullException
var date = DateTime.ParseExact(null, "yyyy-MM-dd", null);
var date = DateTime.ParseExact("2015-11-24", null, null);
FormatException