在Windows应用商店应用中尊重用户日期时间格式设置

时间:2017-10-25 13:03:14

标签: c# datetime windows-store-apps

在Windows应用商店应用(8.1,非UWP)中,如何获取Windows 10中配置的日期和时间格式?在以下示例中,操作系统安装时使用语言en-US,时间和货币格式设置为de-DE

Settings in Windows 10

我试过了:

new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("shortdate"); // resolved language = en-US, resolved geographic region = ZZ ?!

Windows.Globalization.Language.CurrentInputMethodLanguageTag; // en-US

Windows.System.UserProfile.GlobalizationPreferences.Languages; // en-US
Windows.Globalization.ApplicationLanguages.Languages; // en-US

DateTime.Now.ToString(); // en-US

CultureInfo.CurrentCulture; // en-US
CultureInfo.CurrentUICulture; // en-US

new GeographicRegion().CodeTwoLetter; // DE, but: could be ch-DE, de-DE, xyz-DE ?!

我在SO上阅读了this post,但我没有看到最高投票答案将如何允许我尊重用户设置的日期和时间格式(不根据语言偏好进行疯狂的猜测)。

那么,有没有办法在Windows应用商店应用中按预期格式化DateTime实例?

1 个答案:

答案 0 :(得分:1)

您可以通过random.choices Win32 API

获取正确的文化信息(用户在区域设置中设置的文化信息)

请查看GetLocaleInfoEx以了解有关此事的更多信息。