我正在使用日期选择器和选定的datePicker模式作为时间。当我加载日期选择器时,它显示的是当前时间。但我想设置默认时间总是5:00 PM。
我试过下面的方法,但对我不起作用。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
dateFormatter.timeZone = .current
if let date = dateFormatter.date(from: "17:00") {
datePicker.date = date
}
请帮我把时间默认为下午5点。谢谢.
一个可能的解决方案是获取当前日期并相应地设置小时、分钟和秒
let fivePM = Calendar.current.date(bySettingHour: 17, minute: 0, second: 0, of: Date())!
datePicker.date = fivePM
另一种方法是设置CountdownDuration
属性
datePicker.countDownDuration = 61200 // 17 * 3600
另一个可能的答案是:
let cal = Calendar.current
let timeZone: TimeZone = .current
var dateComp = cal.dateComponents(in: timeZone, from: Date())
(dateComp.hour, dateComp.minute, dateComp.second, dateComp.nanosecond) = (17, 0, 0, 0)
let fivePM = cal.date(from: dateComp)
datePicker.date = fivePM
使用此技术,您还可以获得另一个时区的5pm时间。
注意,在Xcode中调试时,Xcode将在GMT时区中显示控制台中的所有日期。