如何从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") {
...
}