3
我有适用于Windows 10 Mobile的UWP应用程序。该应用程序目前提供两种语言 - 英语(en-US
)和捷克语(cs-CZ
)。我遇到的问题是,当例如来自西班牙用户使用的应用程序,日期和时间格式是美国,而不是西班牙(默认应用程序语言是en-US
):获取实际的系统文化信息
DateTime.Now.ToString("d", System.Globalization.CultureInfo.CurrentCulture);
DateTime.Now.ToString("d", System.Globalization.CultureInfo.CurrentUICulture);
DateTime.Now.ToString(System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern);
我想以某种方式根据手机语言获取ACTUAL系统语言,以获得正确格式的日期和时间。目前,它看起来像System.Globalization
命名空间中的所有API都会返回应用程序正在使用的区域性信息。
这失败的系统,其中首选语言和首选区域设置是不一样的。您正在根据用户的首选语言构建“CultureInfo”对象,而不是用户的首选日期和时间格式。 – IInspectable
@IInspectable谢谢你的观察!我做了一些研究,不幸的是,似乎没有任何API。甚至UWP的'DatePicker'和'TimePicker'都使用基于第一种系统语言的格式,而不是首选的格式。所以这与系统其他行为一致。 –
尽管如此,一些应用程序仍然可以正确设置区域设置。在UWP开发中,我不够熟悉,是否有一个专用(但是隐藏的)API,或者这些应用程序是否只是为了评估/猜测所需的区域设置。 – IInspectable