首页 > 解决方案 > 如何在 UIDatePicker 上设置时区?

问题描述

有什么方法可以设置UIDatePicker我的时区(例如 GMT+3)?

我在互联网上尝试了很多解决方案,但都没有奏效。

标签: iosswiftuidatepicker

解决方案


这是来自苹果文档

配置日期选择器 日期选择器的配置由 datePickerMode 属性决定,您可以通过编程方式或在 Interface Builder 中设置其值。对于包含日期或时间值的模式,您还可以根据需要配置区域设置、日历和时区信息。日期选择器在为当前用户格式化日期和时间值时使用该信息,并且默认为设备的区域设置、日历和时区。date 属性以 NSDate 对象的形式表示当前选定的日期,它与日历和时区无关。

您可以通过配置日期选择器来设置时区。TimeZone.current将使用设备当前时区初始化 TimeZone 对象。如果需要,您还可以配置日历或区域设置(尽管它们默认为当前设备设置)。

var picker = UIDatePicker()
picker.calendar = Calendar.current
picker.locale = Locale.current
picker.timeZone = TimeZone.current

picker.date您可以使用该属性检索当前日期。这也可以以编程方式设置,以将日期选择器设置为该值。


您也可以单独使用日期选择器中的日期。您需要一个日期格式化程序来应用日历和时区信息:

let date = picker.date
let formatter = DateFormatter()
// Optionally set calendar, timezone etc on formatter
print(formatter.string(from: date))

推荐阅读