Sai A Sai A
Updated date Apr 08, 2024
This blog provides how to convert strings to DateTime objects in C#. It covers various methods, including DateTime.Parse(), DateTime.ParseExact(), DateTime.TryParse(), and DateTime.TryParseExact() with multiple formats.

Method 1: Using DateTime.ParseExact

The DateTime.ParseExact method is a useful method for converting strings to DateTime objects when you know the exact format of the input string. It allows you to specify a format string that matches the input string, and it parses the string accordingly. 

string dateString = "2023-04-24 10:30:00";
string format = "yyyy-MM-dd HH:mm:ss";
DateTime result = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture);

Output:

4/24/2023 10:30:00 AM

In this example, we have a string "dateString" representing a date and time value in the format "yyyy-MM-dd HH:mm:ss". We provide the format string "format" as a parameter to the DateTime.ParseExact method, along with the input string "dateString" and the CultureInfo.InvariantCulture object to indicate that the input string does not contain any culture-specific formatting.

Method 2: Using DateTime.TryParseExact

The DateTime.TryParseExact method is similar to DateTime.ParseExact, but it returns a boolean value indicating whether the conversion was successful or not. This can be useful when you want to handle cases where the input string may not always be in the expected format.

string dateString = "24/04/2023 10:30:00";
string format = "dd/MM/yyyy HH:mm:ss";
DateTime result;
if (DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
    // Conversion successful, use the "result" DateTime object
}
else
{
    // Conversion failed, handle error
}

Output:

4/24/2023 10:30:00 AM

In this example, we have a string "dateString" representing a date and time value in the format "dd/MM/yyyy HH:mm:ss". We provide the format string "format" as a parameter to the DateTime.TryParseExact method, along with the input string "dateString", the CultureInfo.InvariantCulture object, and DateTimeStyles.None to specify that no additional date and time styles are allowed in the input string. The result is stored in the "result" DateTime object if the conversion is successful.

Method 3: Using DateTime.Parse

The DateTime.Parse method is a more lenient method for converting strings to DateTime objects, as it can automatically recognize and parse a wide range of date and time formats. However, it relies on the system's current culture settings, which can vary on different machines or in different environments. 

string dateString = "4/24/2023 10:30:00 AM";
DateTime result = DateTime.Parse(dateString);

Output:

4/24/2023 10:30:00 AM

In this example, we have a string "dateString" representing a date and time value in a format that can be recognized by the system's current culture settings. We simply pass the input string "dateString" as a parameter to the DateTime.Parse method, and it automatically recognizes and parses the string into a DateTime object.

Method 4: Using DateTime.TryParse

The DateTime.TryParse method is similar to DateTime.Parse, but it returns a boolean value indicating whether the conversion was successful or not. This can be useful when you want to handle cases where the input string may not always be in a recognized format. Here's an example:

string dateString = "24-Apr-2023 10:30:00 AM";
DateTime result;
if (DateTime.TryParse(dateString, out result))
{
    // Conversion successful, use the "result" DateTime object
}
else
{
    // Conversion failed, handle error
}

Output:

4/24/2023 10:30:00 AM

In this example, we have a string "dateString" representing a date and time value in a format that can be recognized by the system's current culture settings. We pass the input string "dateString" as a parameter to the DateTime.TryParse method, along with an "out" parameter to capture the result of the conversion in the "result" DateTime object if it is successful. The boolean return value indicates whether the conversion was successful or not.

Comments (0)

There are no comments. Be the first to comment!!!