How to convert string to date time in C#

By FoxLearn 8/2/2024 2:34:54 AM   271
To convert a string to a DateTime in C#, you can use several methods depending on the format of your date string.

Using DateTime.Parse to convert string to date time in C#

If your string is in a standard format.

For example:

// c# convert string to date time
string dateString = "2024-08-02";
DateTime dateTime = DateTime.Parse(dateString);

DateTime.Parse will throw an exception if the format is invalid.

Using DateTime.TryParse to convert string to date time in C#

If you want to avoid exceptions and handle parsing failures gracefully you can do as following.

string dateString = "2024-08-02";
DateTime dateTime;

bool success = DateTime.TryParse(dateString, out dateTime);
if (success)
{
    // c# convert string to date time
}
else
{
    // Handle the parse failure
}

Using DateTime.ParseExact to convert string to date time in C#

If you know the exact format of your date string and want to enforce it.

string dateString = "03/08/2024";
string format = "dd/MM/yyyy";
DateTime dateTime = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);

If the format does not match, DateTime.ParseExact will throw a FormatException.

Using DateTime.TryParseExact to convert string to date time in C#

If you want to handle exact format parsing with error handling you can use DateTime.TryParseExact

string dateString = "04/08/2024";
string format = "dd/MM/yyyy";
DateTime dateTime;

bool success = DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);
if (success)
{
    // c# convert string to date time
}
else
{
    // Handle the parse failure
}

If you need to handle multiple formats, you can pass an array of formats to DateTime.TryParseExact

string dateString = "2024-08-02";
string[] formats = { "yyyy-MM-dd", "MM/dd/yyyy", "dd/MM/yyyy" };
DateTime dateTime;

bool success = DateTime.TryParseExact(dateString, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime);
if (success)
{
    // c# convert string to date time
}
else
{
    // Handle the parse failure
}

Through this example, you can choose the method that best fits your scenario based on whether you need flexibility, exact format matching, or error handling.