How to localize date format in VB.NET

4 Answers

0 votes
Imports System
Imports System.Globalization

' Format date using a specific culture

Module Module1
    Sub Main()
        Dim dt As DateTime = New DateTime(2026, 4, 18, 21, 30, 0)

        Dim fr As New CultureInfo("fr-FR")
        Dim us As New CultureInfo("en-US")
        Dim de As New CultureInfo("de-DE")

        Console.WriteLine("French: " & dt.ToString(fr))
        Console.WriteLine("US English: " & dt.ToString(us))
        Console.WriteLine("German: " & dt.ToString(de))
    End Sub
End Module



' run:
' 
' French: 18/04/2026 21:30:00
' US English: 4/18/2026 9:30:00 PM
' German: 18.04.2026 21:30:00
' 

 



answered 6 hours ago by avibootz
edited 5 hours ago by avibootz
0 votes
Imports System
Imports System.Globalization

' Localize using standard date formats ("d", "D", "F")

Module Module1
    Sub Main()
        Dim dt As DateTime = New DateTime(2026, 4, 18, 21, 30, 0)
        Dim culture As New CultureInfo("de-DE")   

        Console.WriteLine("Short date (d): " & dt.ToString("d", culture))
        Console.WriteLine("Long date (D): " & dt.ToString("D", culture))
        Console.WriteLine("Full date (F): " & dt.ToString("F", culture))
    End Sub
End Module



' run:
' 
' Short date (d): 18.04.2026
' Long date (D): Samstag, 18. April 2026
' Full date (F): Samstag, 18. April 2026 21:30:00
' 

 



answered 5 hours ago by avibootz
0 votes
Imports System
Imports System.Globalization

' Use the user’s system locale (automatic localization)

Module Module1
    Sub Main()
        Dim dt As DateTime = DateTime.Now

        Console.WriteLine("System locale: " & dt.ToString(CultureInfo.CurrentCulture))
    End Sub
End Module



' run:
' 
' System locale: 04/18/2026 19:01:09
' 

 



answered 5 hours ago by avibootz
edited 5 hours ago by avibootz
0 votes
Imports System
Imports System.Globalization

' Custom localized pattern

Module Module1
    Sub Main()
        Dim dt As DateTime = New DateTime(2026, 4, 18)
        Dim culture As New CultureInfo("en-US")   

        Dim formatted As String = dt.ToString("dddd, dd MMMM yyyy", culture)
        Console.WriteLine(formatted)
    End Sub
End Module



' run:
' 
' System locale: 04/18/2026 19:01:09
' 

 



answered 5 hours ago by avibootz

Related questions

1 answer 83 views
1 answer 207 views
1 answer 89 views
1 answer 101 views
1 answer 157 views
1 answer 163 views
...