在我的应用程序中,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
}
答案 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)