2017-02-27 90 views
0

我是新來的swift,我想將一個字符串分隔成一個數組。在我的情況下,字符串是「20170227」,我想將它放在像[2017,02,27]這樣的數組中。我嘗試過這樣做,但代碼太長了,我認爲到目前爲止它很複雜。檢查一個字符串是否是當前日期

var date = "20170227" 
var Space: Character = " " 
let indexMain = date.index(date.startIndex, offsetBy: 4) 
date.insert(Space, at: indexMain) 

最終只返回2017 0227,所以我失去了......在此先感謝!

+0

你試圖從一個字符串創建一個日期或只是將一個字符串分解成一個數組? –

+0

@SylvanDAsh我正在嘗試檢查字符串的日期是否與當前日期相同,因此我無法確定哪一個最適合使用 –

+0

似乎是這樣的問題在一兩個小時前被問過。感謝您發佈一些代碼!你有沒有搜索任何地方(特別是SO)的答案?你想要做什麼*特別是 - 將字符串作爲日期與當前日期進行比較,或將一個字符串拆分爲三個數組,或將一個字符串拆分爲數組?根據你對ASylvanDAsh的回答,我在考慮第一個 - 在這種情況下,你的問題從你想要的完全不準確。請考慮編輯它。謝謝。 – dfd

回答

0

獲得最新組件從你的評論,如果你想查詢字符串,該日期比你可以用DateFormatter字符串轉換爲日期,然後用isDateInToday來檢查當前日期日期是今天的日期。

var dateString = "20170227" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "yyyyMMdd" 
if let date = dateFormatter.date(from: dateString), Calendar.current.isDateInToday(date) { 
    print("String date is today's date") 
} 
+0

正是我在找的! –

+0

@JohnDoodle歡迎伴侶:) –

0

您可以從給定的字符串

let dateString = "20170227" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "YYYYMMDD" 
let date = dateFormatter.date(from: dateString) 
let calendar = Calendar.current 
let dateComponents = calendar.dateComponents([.year, .month, .hour], from: date!) 
相關問題