我有一个简单的问题。 根据苹果官方文档 https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/#//apple_ref/occ/instm/NSDateFormatter/dateFromString:
NSDateFormatter.dateFromString(String)将返回
使用接收器的当前设置解释的字符串的日期表示。如果dateFromString:无法解析字符串,则返回nil。
然后当我给它一个空字符串“”时,它应该返回nil吗? 当我在操场上这样做时
let date = ""
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
print(dateFormatter.dateFromString(date))
它给了我
"Optional(1999-12-31 15:00:00 +0000)\n"
这是否属于正常行为? 或者我做错了什么?
谢谢
答案 0 :(得分:1)
完全。如果无法解析字符串,它将返回nil
,但如果使用空字符串,则默认返回该日期。
更改""
的{{1}}或其他任何内容,如果它是" "
您想要获得的内容,请填写它。
答案 1 :(得分:1)
如果dateFromString:无法解析字符串,则返回nil
简单的答案是,LF
确实设法解析空dateFromString
。如果您尝试在string
中输入错误的数据,请说string
,那么您将获得"0"
。
为什么会这样?我假设它只是他们编写类的方式,因为日期格式化程序确实跳过了缺少的数据并尝试完成它。可能没有"一切都缺失"。