Development VB.Net

Imports System.Globalization
Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "hu-HU", "pt-PT" }
      Dim objects() As Object = { #1/1/2010#, "today","05/10/2010 6:13:18 PM", "September 8, 1899" }
      For Each cultureName As String In cultureNames
         Console.WriteLine("{0} culture:", cultureName)
         Dim provider As New CustomProvider(cultureName)
         For Each obj As Object In objects
            Try
               Dim dateValue As Date = Convert.ToDateTime(obj, provider)      
               Console.WriteLine("{0} --> {1}", obj,dateValue.ToString(New CultureInfo(cultureName)))
            Catch e As FormatException
               Console.WriteLine("FormatException")
            Catch e As InvalidCastException
               Console.WriteLine("InvalidCastException")
            End Try
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
Public Class CustomProvider : Implements IFormatProvider
   Private cultureName As String
   Public Sub New(cultureName As String)
      Me.cultureName = cultureName
   End Sub
   Public Function GetFormat(formatType As Type) As Object _
          Implements IFormatProvider.GetFormat
      If formatType Is GetType(DateTimeFormatInfo) Then
         Console.Write("(CustomProvider retrieved.) ")
         Return New CultureInfo(cultureName).GetFormat(formatType)
      Else
         Return Nothing
      End If   
   End Function
End Class