为什么日期格式会导致格式化程序崩溃?
Why does date format crash formatter?
为什么我到达下面的 df.date()
行,应用程序崩溃:
fatal error: unexpectedly found nil while unwrapping an Optional value
我也看到了这个:
error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION
(code=EXC_I386_INVOP, subcode=0x0)
let mydate = "2016-12-27"
let df = DateFormatter()
df.dateFormat = "MM/dd/yyyy"
newDate = df.date(from: mydate)
我做错了什么?
你的代码是否可以编译,因为这一行 df = "MM/dd/yyyy"
会给你编译错误,df.date(from:)
return 可选 Date?
实例所以如果你的 dateFormat
和字符串日期不匹配。现在您的日期格式是 yyyy-MM-dd
。所以像这样更改您的代码。
let mydate = "2016-12-27"
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd"
if let date = df.date(from: mydate) {
df.dateFormat = "MM/dd/yyyy"
let formattedDate = df.string(from: date)
print(formattedDate)
}
为什么我到达下面的 df.date()
行,应用程序崩溃:
fatal error: unexpectedly found nil while unwrapping an Optional value
我也看到了这个:
error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
let mydate = "2016-12-27"
let df = DateFormatter()
df.dateFormat = "MM/dd/yyyy"
newDate = df.date(from: mydate)
我做错了什么?
你的代码是否可以编译,因为这一行 df = "MM/dd/yyyy"
会给你编译错误,df.date(from:)
return 可选 Date?
实例所以如果你的 dateFormat
和字符串日期不匹配。现在您的日期格式是 yyyy-MM-dd
。所以像这样更改您的代码。
let mydate = "2016-12-27"
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd"
if let date = df.date(from: mydate) {
df.dateFormat = "MM/dd/yyyy"
let formattedDate = df.string(from: date)
print(formattedDate)
}