本地化+自定义UIDatePicker的日期格式

我需要自定义和本地化UIDatePickerDateAndTime模式的日期格式,以便它以Arabic显示日期编号加上24小时格式的时间和阿拉伯数字。

英语中的等值行为: 2017 11 15 17:00

我已经尝试了所有在SO上提出的解决方案,从更改语言环境到更改设备语言,但无济于事。

让我们分解一下:

  • 要将日期选择器的内容显示为阿拉伯语,您需要将其设置为所需的locale

日期选择器使用的区域设置。

  • 要更改日期选择器的格式,那么…它取决于使用的区域设置; 如UIDatePicker中所述 – 国际化:

选择日期处理他们自己的国际化; 您需要做的唯一事情是指定适当的区域设置。 您可以通过在“属性”检查器中设置“区域设置”(区域设置)字段来选择要显示的日期选择器的特定区域设置。 这会更改日期选择器用于显示的语言, 还会更改日期和时间 的格式 (例如,某些区域设置出现在月份名称前几天,或者更喜欢12小时制的24小时时钟)

这意味着设置所需的语言环境以更改语言也会影响日期选择器的格式日期。

粗略地说,设置语言和格式都不适用于您的情况,您应该选择所需的语言或所需的日期格式。

但是,应用第一个点(更改日期选择器区域设置):

 datePicker.locale = Locale(identifier: "ar") 

应该导致以下输出:

在此处输入图像描述

另外,还有以下问题:

根据不在设备设置上的应用设置,在UIDatePicker中以12和24小时格式显示时间

还与更改日期选择器格式有关。