Ins*_*ter 6 .net c# globalization localization internationalization
现在我正在做:
bool UseMetricByDefault() {
return TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).TotalHours >= 0;
}
Run Code Online (Sandbox Code Playgroud)
这有助于区分美国与欧洲和亚洲,但它忽略了南美洲.
有没有更好的办法?
Wim*_*dse 20
使用命名空间中的RegionInfo
类System.Globalization
:
bool isMetric = RegionInfo.CurrentRegion.IsMetric;
Run Code Online (Sandbox Code Playgroud)
如果需要特定区域,可以使用以下方法之一:
// from a CultureInfo
CultureInfo culture = ...;
RegionInfo r = new RegionInfo(culture.Name);
// from a string
RegionInfo r = new RegionInfo("us");
Run Code Online (Sandbox Code Playgroud)