Swift:如何从日期选择器中获取日期、月份和年份的字符串值?

Sam*_*Sam 1 xcode calendar uidatepicker ios swift

我想从日期选择器中获取日、月、年的单独字符串值。并将这三个值分配给 3 个变量。我已经做到了这一点:

@IBAction func doneClicked(sender: UIButton) {
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = GlobalConfiguration.getDatePickerFormat()
    let formattedDate = dateFormatter.stringFromDate(self.datePicker.date)
    self.delegate?.datePickerDidSelect(formattedDate)
    }
Run Code Online (Sandbox Code Playgroud)

这是我的几个代码,我可以将日期文本设置为按钮标题的字符串。现在我想要分别天、月和年。我怎样才能做到这一点..??

Jul*_*ode 8

您有两种方法可以做到这一点,取决于您是想查看当前月份的编号还是他的姓名:

日历

let calendar = Calendar.current
let components = calendar.dateComponents([.day,.month,.year], from: self.datePicker.date))
if let day = components.day, let month = components.month, let year = components.year {
    let dayString = String(day)
    let monthString = String(month)
    let yearString = String(year)
}
Run Code Online (Sandbox Code Playgroud)

使用DateFormatter

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy"
let year: String = dateFormatter.string(from: self.datePicker.date))
dateFormatter.dateFormat = "MM"
let month: String = dateFormatter.string(from: self.datePicker.date))
dateFormatter.dateFormat = "dd"
let day: String = dateFormatter.string(from: self.datePicker.date))
Run Code Online (Sandbox Code Playgroud)

使用DateFormatter,您可以选择更多的格式,因为您可以管理输出格式