Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从swift中的日期字符串设置日期选择器日期_Swift_Datepicker - Fatal编程技术网

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

如何从swift中的日期字符串设置日期选择器日期,swift,datepicker,Swift,Datepicker,从日期字符串设置日期选择器日期的正确方法是什么 let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "dd/MM/YY" let convertedStartDate = dateFormatter.dateFromString("1/3/15") startDatePicker.date = convertedStartDate! 这不起作用,convertedStartDate=nil**您必须使用“yy”而不是

从日期字符串设置日期选择器日期的正确方法是什么

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/YY"
let convertedStartDate = dateFormatter.dateFromString("1/3/15")
startDatePicker.date = convertedStartDate!
这不起作用,convertedStartDate=nil

**您必须使用“yy”而不是“yy”

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

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
}  
如果您需要参考资料来帮助您设置日期格式,您可以使用以下参考资料: **您必须使用“yy”而不是“yy”

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

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
}  
如果您需要参考资料来帮助您设置日期格式,您可以使用以下参考资料:

Swift 3.0版 Swift 3.0版
我相信,如果您将日期格式字符串更改为“d/M/YY”,您的格式化程序将正常工作。通过提供两个
d
M
,您可以告诉它,在个位数的天数和月份内,将有领先的
0
。我尝试过了。不走运。而且在大多数约会中都不起作用。更简单的选择。使用
dateFormatter.dateStyle=.ShortStyle
。我相信如果你把你的日期格式字符串改成“d/M/YY”,你的格式化程序就会工作。通过提供两个
d
M
,您可以告诉它,在个位数的天数和月份内,将有领先的
0
。我尝试过了。不走运。而且在大多数约会中都不起作用。更简单的选择。使用
dateFormatter.dateStyle=.ShortStyle
。这对我在操场上很管用。很好地抓住了小写字母
y
!我在最初的阅读中完全忽略了这一点,一开始我也没有看到。当我把它和我的扩展并排放在一起时,我才意识到这一点!我在最初的阅读中完全忽略了这一点,一开始我也没有看到。当我把它和分机放在一起时,我才意识到这一点。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "d/M/yy"
if let convertedStartDate = dateFormatter.date(from: "1/3/15") {
    ...
}