Parse string to DateTimeOffset with possible formats in CSharp

Description

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

Example


using System;// w ww .jav  a  2 s.c  o  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 = new DateTimeOffset();

        input = "2014";
        try
        {
            result = DateTimeOffset.ParseExact(input, formats, provider,
                                               DateTimeStyles.AllowWhiteSpaces);
           
        }
        catch (FormatException)
        {
            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