DateFormatter实际上没有检查日期格式

时间:2016-12-07 08:35:55

标签: ios format swift3 nsdate nsdateformatter

我需要检查用户是否以某种格式输入日期。我从UITextField获得此输入,然后我尝试以这种方式验证:

func checkDateInput(inputStr: String) -> Bool {

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MM-dd-yyyy"

    if let date = dateFormatter.date(from: inputStr) {
        return true
    }

    return false
}

在调用此方法之前,我会检查inputStr是否为空。 当我运行应用程序并输入“12/07/2016”时,由于true,我得到checkDateInput(inputStr: "12/07/2016"),但我希望得到false,因为我希望用户输入“12-07-2016”。看起来DateFormatter没有考虑我提供的格式中的“ - ”和“/”字符。

我怎样才能与日期格式完全匹配?

1 个答案:

答案 0 :(得分:0)

对于简单解决方案,您可以像这样检查2的{​​{1}},5位置

inputStr