(Swift)从用户输入设置UIDatePicker视图

时间:2016-06-01 16:15:31

标签: ios swift nsdate nsdateformatter uidatepicker

首先,我在屏幕上显示UIDatePicker,并允许用户选择日期和时间。我保存了这样的值,它得到的日期格式如下:6/1 / 16,1:47 PM

let time = NSDateFormatter.localizedStringFromDate(datePicker.date, dateStyle: .ShortStyle, timeStyle: .ShortStyle)

稍后在应用程序中,我希望用户能够编辑他们的原始日期,因此当按下按钮时,我希望UIDatePicker显示他们最初选择的时间。
我使用以下代码尝试实现这一点,虽然应用程序不断收到运行时错误,因为日期总是为零。

let dateFromatter = NSDateFormatter()
let date = dateFromatter.dateFromString("6/1/16, 1:47 PM")
datePicker.setDate(date!, animated: true) 

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

您遇到日期格式问题,而不是日期选择器。

 @IBOutlet weak var datePicker: UIDatePicker!
 override func viewDidLoad() {
    super.viewDidLoad()

    let dateFromatter = NSDateFormatter()
    dateFromatter.dateFormat = "M/d/yy, H:mm"
    if let date = dateFromatter.dateFromString("6/1/16, 1:47") {
      datePicker.setDate(date, animated: true)
    }
  }

答案 1 :(得分:0)

对于短格式字符串,请使用以下格式:

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "M/d/yy, H:mm"
dateFormatter.stringFromDate(NSDate())