Xamarin.Android 中的时间格式("h a")未本地化为法语

Time Format("h a") not localized to french in Xamarin.Android

我已尝试使用 SimpleDateFormat 在 Xamarin.Android 中本地化时间格式 (AM/PM),如下面的代码示例:

代码示例:

Calendar time = Calendar.GetInstance(Locale.Default);

string timeText = new SimpleDateFormat("h a", new Locale("fr")).Format(time.Time).ToLower();

但它始终只会针对英语进行本地化(上午 9 点)。请建议我是否错过了本地化字符串的任何内容。提前致谢。

你为 fr 创建一个新的 Locale 是错误的,要使用给定的模式和给定语言环境 "France" 的默认数据格式符号,你可以例如这样的代码这个:

Android.Icu.Util.Calendar time = Android.Icu.Util.Calendar.GetInstance(Locale.Default);
var format = new SimpleDateFormat("h:mm a", Android.Icu.Util.ULocale.French);
var timetext = format.Format(time.Time);

更多信息可以参考[SimpleDateFormat(String pattern, 区域设置 locale)](https://developer.android.com/reference/java/text/SimpleDateFormat.html#SimpleDateFormat(java.lang.String, java.util.Locale)).