如何检查某些内容是作为字符串返回还是作为字符串返回日期?

时间:2017-06-09 13:36:03

标签: string swift3

在我的应用程序中,api可以将字符串或日期作为字符串返回。我需要检查api是否首先返回日期。如果它不是日期,只需用字符串填充该字段即可。如果是日期,请在填充字段之前进行转换。转换和填充我已经想到的字段部分,但是如何判断它是否以字符串或字符串形式返回日期?这就是api的回报:

data?.data?.nextAvailability

所以我需要它像

if data?.data?.nextAvailability is a string { 
    // do something 
} else if data?.data?.nextAvailability is a date as a string {
    // do this 
}

1 个答案:

答案 0 :(得分:2)

你可以这样做:

let string = data?.data?.nextAvailability

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

guard let date = dateFormatter.date(from: string) else {
        print("not a date") // And do what you need to do
        return
    }
// is a date... do what you need to do with a date.
print(date)