2017-06-09 120 views
1

在我的應用程序中,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

需要明確的是,它是返回字符串不管是什麼,只是格式可以改變? – Siriss

+0

是返回一個字符串,不管是什麼 –

+0

例如它要麼返回一個字符串,說像「選擇一個」,或者如果它是一個日期「2017-06-09T15:30:00.000Z」。然後,我將日期字符串轉換爲「6月9日上午11:30」 –

回答

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) 
+0

,但我不確定將字符串放入let string =「2017-06-09T15:30:00.000Z」區。它從api返回爲「data?.data?.nextAvailability」 –

+0

只需插入您獲取的字符串。已更新的答案。 – Siriss

+0

我不得不切換一些東西,但這個伎倆,謝謝! –

相關問題