【发布时间】:2019-03-10 15:41:49
【问题描述】:
一直在使用此函数将字符串转换为日期对象。
SO上的类似Qs,但是找不到一个能处理我当时情况的问题。所以我相信这篇文章不是重复的。
func convertTimeStringToDate() -> Date {
//time will be "04:48"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
dateFormatter.dateStyle = .none
dateFormatter.timeStyle = .short
dateFormatter.locale = Locale.current
return dateFormatter.date(from: "04:48")!
}
该函数返回 nil,因此在展开时崩溃!。我看不出代码有什么问题。
【问题讨论】:
-
这样一个函数的目的是什么?您可以通过 DateComponents 以更可靠的方式创建有效日期。
-
您已经将 dateFormat 指定为“HH:mm”,这对您的输入有效。那你为什么还要指定
dateStyle和timeStyle来改变格式呢?这就是它崩溃的原因。 -
就是这样。我已经使用该功能几个月了。我想最新的 beta 版本阻止了我摆脱它。请把它作为答案,我会接受
标签: swift date nsdate nsdateformatter