날짜 형식을 mm/dd/yyyy 또는 dd/mm/yyyy로 설정하는 방법을 찾고 있습니다. ip 기반의 내 페이지에 대한 culture를 설정하면 asp.net 달력의 언어가 현지 언어로 설정됩니다. 예 : 미국, 호주, 영국에서는 정상적으로 작동합니다. 그러나 사우디 아라비아 같은 나라의 경우, 아랍어 같은 현지 언어가 아닌 영어로 된 달력을 원합니다.모든 날짜가 영어로 설정되어 있지만 국가 고유의 형식
기본적으로 내 달력은 영어로되어 있지만 올바른 형식으로되어 있어야합니다.
코드를 살펴보십시오.
P.S., 이 코드는 TwoLetterISOLanguageName이 "en"인 인도에서 잘 작동합니다. 그러나 모든 국가가 "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;
}
Thread.CurrentThread.CurrentCulture.DateTimeFormat READONLY로 표시됩니다. – vishnu
내 질문을 잘 이해했습니다. 내 페이지의 DateTimeFormat을 설정할 수있는 방법을보고 싶습니다. – vishnu
Amazing.Thanks 많이 그 단어. 나는 그것을 할 수있는 방법이 있다는 단서가 없었습니다. – vishnu