Я ищу способ установить формат даты в мм / дд / гггг или дд / мм / гггг.Настройка культуры для моих страниц на основе ip устанавливает язык календаря asp.net на местном языке.Например: он хорошо работает для США, Австралии, Великобритании.Но для таких стран, как Саудовская Аравия, я хочу, чтобы мой календарь все еще был на английском, а не на местном языке, таком как арабский.
Я хочу, чтобы мой календарь был на английском, но в правильном формате.
Пожалуйста, посмотрите на код.
PS, этот код отлично работает для Индии, гдеу них есть "en" как TwoLetterISOLanguageName.Но потом я понял, что не во всех странах есть «en».
private static CultureInfo GetCultureInfo(UserSession currentUserSession, string userHostAddress)
{
try
{
string location = null;
// use logged in user's configured location
if (currentUserSession != null)
{
location = currentUserSession.LocationString;
}
// fall back to IP address
if (string.IsNullOrEmpty(location))
{
string code = IPToCountry.GetCountry(userHostAddress);
if (code != null)
{
location = Config.Users.GetCountryByCode(code);
}
}
// find english culture for country, if it exists
if (!string.IsNullOrEmpty(location))
{
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
try
{
if (ci.TwoLetterISOLanguageName == "en")
{
RegionInfo ri = new RegionInfo(ci.LCID);
if (location.Contains(ri.EnglishName))
return ci;
}
}
catch (Exception)
{
}
}
}
}
catch (Exception)
{
}
return null;
}