设置所有英文日期,但具有国家特定格式

时间:2012-01-05 05:02:08

标签: asp.net calendar cultureinfo

我正在寻找一种以mm / dd / yyyy或dd / mm / yyyy设置日期格式的方法。基于ip为我的页面设置文化以本地语言设置asp.net日历的语言。 例如:它适用于美国,澳大利亚,英国。但对于像沙特阿拉伯这样的国家,我希望我的日历仍然是英文,而不是像阿拉伯语那样的当地语言。

我基本上希望我的日历是英文的,但格式正确。

请查看代码。

P.S。, 此代码适用于印度,其中“en”为TwoLetterISOLanguageName。但后来我意识到并非所有国家都有“恩”。

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;
        }

1 个答案:

答案 0 :(得分:2)

我不确定我是否正确理解了您的问题,但您可以明确设置format for dates in a culture

请注意,您需要先克隆CultureInfo才能设置DateTimeFormat属性。