ios - 如何在 UIDatePicker 上设置时区?
问题描述
有什么方法可以设置UIDatePicker
我的时区(例如 GMT+3)?
我在互联网上尝试了很多解决方案,但都没有奏效。
解决方案
这是来自苹果文档:
配置日期选择器 日期选择器的配置由 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))
推荐阅读
- javascript - Reactstrap Collapse 在 React 组件中不起作用
- jquery - 如何防止双击键码9,即在jquery中按tab键
- javascript - 使用Mongo find javascript时如何使用部分匹配?
- sql - Oracle SQL 内连接不返回具有空值的记录
- python - PYTHON - 如何根据分隔符将一列分成两列
- operators - 'true and (true or false) and false' 的答案应该是什么?
- maven - 在 Mac 中为 Catolina 或更高版本设置 maven (mvn) 的环境变量路径
- unity3d - unity 弹跳和移动
- mysql - 无法在 BQ MySQL 中解析输入字符串日期时间
- angular - 无法从 firebase-Angular http://localhost:4200/admin/products/undefined 获取 $key