【发布时间】:2016-10-29 04:45:43
【问题描述】:
我有一个简单的问题。 根据苹果官方文档 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"
这是正常的行为吗? 还是我做错了什么?
谢谢
【问题讨论】:
-
我同意这有点奇怪,但考虑到您的时区可能是 GMT+9,结果是有道理的。如果你的日期格式是
yyyy-MM-dd,你会得到nil。 -
你说得对,当我将其更改为“yyyy-MM-dd”时,NSDateFormatter 给了我 nil。我也认为在给定不同的日期格式时它的响应不同是很奇怪的,这应该就是它解析字符串的方式
标签: ios iphone swift nsdateformatter