ParseExact・TryParseExactメソッドで複数の書式を許容するようにしたい場合は、次の例のように、その書式を配列で指定します。 どれか一つでも一致する書式があれば、変換に成功します。
DateTime/DateTimeOffset.TryParseExactメソッドで複数の書式を指定して文字列からの変換を試みる
      Imports System
Imports System.Globalization
Class Sample
  Shared Sub Main()
    Dim inputs() As String = New String() { _
      "Mon, 01 Apr 2013 15:00:30 GMT", _
      "2013年4月1日 15:00:30", _
      "2013-04-01T15:00:30.1230000+09:00", _
      "2013-04-01T15:00:30.1230000", _
      "2013-04-01", _
      "15:00:30" _
    }
    ' 変換時に許容する書式
    Dim formats() As String = New String() { _
      "o", _
      "yyyy-MM-dd", _
      "HH:mm:ss" _
    }
    For Each input As String In inputs
      Dim dt As DateTime
      ' 指定した書式で文字列からDateTimeへの変換を試行
      If DateTime.TryParseExact(input, formats, Nothing, DateTimeStyles.None, dt) Then
        Console.WriteLine("{0,-35} -> {1}", input, dt)
      Else
        Console.WriteLine("{0,-35} -> (invalid format)", input)
      End If
    Next
    Console.WriteLine()
    For Each input As String In inputs
      Dim dto As DateTimeOffset
      ' 指定した書式で文字列からDateTimeOffsetへの変換を試行
      If DateTimeOffset.TryParseExact(input, formats, Nothing, DateTimeStyles.None, dto) Then
        Console.WriteLine("{0,-35} -> {1}", input, dto)
      Else
        Console.WriteLine("{0,-35} -> (invalid format)", input)
      End If
    Next
    Console.WriteLine()
  End Sub
End Class
       
      実行結果
      Mon, 01 Apr 2013 15:00:30 GMT -> (invalid format) 2013年4月1日 15:00:30 -> (invalid format) 2013-04-01T15:00:30.1230000+09:00 -> 2013/04/01 15:00:30 2013-04-01T15:00:30.1230000 -> 2013/04/01 15:00:30 2013-04-01 -> 2013/04/01 0:00:00 15:00:30 -> 2013/03/08 15:00:30 Mon, 01 Apr 2013 15:00:30 GMT -> (invalid format) 2013年4月1日 15:00:30 -> (invalid format) 2013-04-01T15:00:30.1230000+09:00 -> 2013/04/01 15:00:30 +09:00 2013-04-01T15:00:30.1230000 -> 2013/04/01 15:00:30 +09:00 2013-04-01 -> 2013/04/01 0:00:00 +09:00 15:00:30 -> 2013/03/08 15:00:30 +09:00