How to set culture to change datetime format in ASP.NET MVC

By FoxLearn 5/29/2024 9:08:39 AM   306
How to fix String was not recognized as a valid DateTime 'dd/MM/yyyy'

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

In ASP.NET MVC, you can set the culture to change the datetime format by configuring the culture in several places:

You can set the <globalization> element in the web.config file to specify the culture and UI culture for your application. This affects how ASP.NET formats dates, numbers, currencies, and other culture-specific data as shown below.

<system.web>
    <globalization culture="en-US" uiCulture="en"/>    
</system.web>

You can also open the Global.asax file then add a Application_BeginRequest handler as shown below.

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    CultureInfo cultureInfo = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
    cultureInfo.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
    cultureInfo.DateTimeFormat.DateSeparator = "/";
    Thread.CurrentThread.CurrentCulture = cultureInfo;
}

We will clone the current culture, then modify our culture. The CultureInfo class provides information about a specific culture. It includes the names for the culture, the writing system, the calendar used, the sort order of strings and formatting for dates and numbers.