Try to parse string to DateTimeOffset with various possible formats in CSharp

Description

The following code shows how to try to parse string to DateTimeOffset with various possible formats.

Example


using System;/*w ww  .  ja va2  s .co  m*/
using System.Globalization;
public class MainClass
{
    public static void Main(String[] argv)
    {
        string input = String.Empty;

        string[] formats = new string[] {"M/dd/yyyy HH:m zzz", "MM/dd/yyyy HH:m zzz", 
                                     "M/d/yyyy HH:m zzz", "MM/d/yyyy HH:m zzz", 
                                     "M/dd/yy HH:m zzz", "MM/dd/yy HH:m zzz", 
                                     "M/d/yy HH:m zzz", "MM/d/yy HH:m zzz",                                 
                                     "M/dd/yyyy H:m zzz", "MM/dd/yyyy H:m zzz", 
                                     "M/d/yyyy H:m zzz", "MM/d/yyyy H:m zzz", 
                                     "M/dd/yy H:m zzz", "MM/dd/yy H:m zzz", 
                                     "M/d/yy H:m zzz", "MM/d/yy H:m zzz",                               
                                     "M/dd/yyyy HH:mm zzz", "MM/dd/yyyy HH:mm zzz", 
                                     "M/d/yyyy HH:mm zzz", "MM/d/yyyy HH:mm zzz", 
                                     "M/dd/yy HH:mm zzz", "MM/dd/yy HH:mm zzz", 
                                     "M/d/yy HH:mm zzz", "MM/d/yy HH:mm zzz",                                 
                                     "M/dd/yyyy H:mm zzz", "MM/dd/yyyy H:mm zzz", 
                                     "M/d/yyyy H:mm zzz", "MM/d/yyyy H:mm zzz", 
                                     "M/dd/yy H:mm zzz", "MM/dd/yy H:mm zzz", 
                                     "M/d/yy H:mm zzz", "MM/d/yy H:mm zzz"};
        IFormatProvider provider = CultureInfo.InvariantCulture.DateTimeFormat;
        DateTimeOffset result;

        input = "31/12/09";
        if (DateTimeOffset.TryParseExact(input, formats, provider,
                                        DateTimeStyles.AllowWhiteSpaces,
                                        out result))
        {
          
        }
        else
        {
            Console.WriteLine("Unable to parse {0}.", input);
        }
        Console.WriteLine(result.ToString());

    }
}

The code above generates the following result.





















Home »
  C# Tutorial »
    Data Types »




C# Data Types
Bool
Byte
Char
Decimal
Double
Float
Integer
Long
Short
String
C# Array
Array Example
Byte Array
C# Standard Data Type Format
BigInteger
Complex
Currency
DateTime
DateTimeOffset
DateTime Format Parse Convert
TimeSpan
TimeZone
Enum
Null
tuple
var