C# 在UWP中获取用户指定的长日期格式
我想将日期转换为用户设置的长日期格式。当前区域性是en US,但用户可以在“控制面板”->“区域”->“长日期”中根据自己的选择设置长日期格式 在本例中,我将格式设置为匈牙利语,并选择yyyy。嗯。格式(将当前区域性保留为en US) System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern返回不正确的模式 窗户也是。全球化API 在my Package.appxmanifest中:C# 在UWP中获取用户指定的长日期格式,c#,date,uwp,date-formatting,C#,Date,Uwp,Date Formatting,我想将日期转换为用户设置的长日期格式。当前区域性是en US,但用户可以在“控制面板”->“区域”->“长日期”中根据自己的选择设置长日期格式 在本例中,我将格式设置为匈牙利语,并选择yyyy。嗯。格式(将当前区域性保留为en US) System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern返回不正确的模式 窗户也是。全球化API 在my Package.appxmanifest中:
<Resources>
<Resource Language="x-generate" />
</Resources>
有人知道如何从控制面板->区域->长日期获取日期格式吗?不幸的是,UWP API没有公开区域设置;尽管我还没有用Creators Update测试过它,所以无法确认它是否仍然有效,但我还是在前一段时间找到了它
更新:我发现了使用Win32 API进行此操作的方法。不幸的是,UWP API没有公开区域设置;尽管我还没有用Creators Update测试过它,所以无法确认它是否仍然有效,但我还是在前一段时间找到了它
更新:我发现了使用Win32 API进行此操作的方法。感谢您的输入,它成功地获得了“HU”文化。但是,所说的区域性有两种长日期格式,CultureInfo.DateTimeFormat.LongDatePattern返回默认值(这可能与用户在控制面板中选择的不一样)。实际上,在新的DateTimeFormatter(“longdate”,new[]{“US”})中,似乎是这样的。Patterns[0]显示了正确的模式,即选中的模式。再次感谢,这是一本有趣的读物!我已经更新了更多的信息,这是一个更好的方法来检索“正确的”CurrentCulture!感谢你的投入,这确实让“胡”文化得以传播。但是,所说的区域性有两种长日期格式,CultureInfo.DateTimeFormat.LongDatePattern返回默认值(这可能与用户在控制面板中选择的不一样)。实际上,在新的DateTimeFormatter(“longdate”,new[]{“US”})中,似乎是这样的。Patterns[0]显示了正确的模式,即选中的模式。再次感谢,这是一本有趣的读物!我已经更新了更多的信息,这是一个更好的方法来检索“正确的”CurrentCulture!