如何在swift中的日期字符串中设置日期选择日期

时间:2015-01-02 13:04:30

标签: swift datepicker

从日期字符串

设置日期选择日期的正确方法是什么?
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/YY"
let convertedStartDate = dateFormatter.dateFromString("1/3/15")
startDatePicker.date = convertedStartDate!

这不起作用,convertedStartDate = nil

2 个答案:

答案 0 :(得分:5)

**你必须使用" yy"而不是" YY"

let formatter = DateFormatter()
formatter.dateFormat = "d/M/yy"
formatter.locale = Locale(identifier: "en_US_POSIX")
if let startDate = formatter.date(from: "1/3/15") {
    print(startDate)  // 2015-03-01 03:00:00 +0000
}

您还可以创建一个扩展程序来处理该问题,如下所示:

extension String {
    func toDateFormatted(with string: String)-> Date? {
        let formatter = DateFormatter()
        formatter.dateFormat = "d/M/yy"
        formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.dateFormat = string
        return formatter.date(from: self)
    }
}
let string = "1/3/15"
if let date = string.toDateFormatted(with: "d/M/yy") {
     print(date)  // 2015-03-01 03:00:00 +0000
}  

如果您需要参考资料来帮助您设置日期格式,可以使用以下内容: enter image description here

答案 1 :(得分:1)

Swift 3.0版

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "d/M/yy"
if let convertedStartDate = dateFormatter.date(from: "1/3/15") {
    ...
}