提问者:小点点

如何在日期选择器上设置特定的时间?


我正在使用日期选择器和选定的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点。谢谢.


共2个答案

匿名用户

一个可能的解决方案是获取当前日期并相应地设置小时、分钟和秒

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时区中显示控制台中的所有日期。