2017-02-27 13 views
0

私は素早く新しいです。文字列を配列に分割したいと思います。私の場合、文字列は「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

これは1時間か2分前に尋ねられたようです。いくつかのコードを投稿してくれてありがとう!あなたはどこかで(特にSO)答えを探しましたか? *具体的に何をしようとしていますか?現在の日付と比較するための日付として文字列をキャストするか、1つの文字列を3つの配列に分割するか、単純に文字列を配列に分割しますか? 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!) 
関連する問題