2016-11-29 11 views
1

日の変数と特定の日付を指定すると、 与えられた日付が過去の日数内にあるかどうかを確認できますか?Swiftのx日数内に特定の日付をチェックする方法3

つまり、dateVarが過去7日間以内であるかどうか、またはnumberの値が何であるかを確認する方法を教えてください。

var number = 7 

var dateVar = "29-11-2016 13:21:33" 

答えて

2

まずあなたはDateオブジェクトにあなたの日付文字列を変換する必要があり、その後、あなたは、日中にその日付と現在の日付の差を検索するためにDateComponentを使用して比較することができるあなたとの日数、このような何かが。

let dateVar = "29-11-2016 13:21:33" 
let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss" 
if let date = dateFormatter.date(from: dateVar) { 
    print(date) 
    let numberOfDays = Calendar.current.dateComponents([.day], from: date, to: Date()).day ?? 0 
    print(numberOfDays) 
    if numberOfDays <= number { 
     print("DateVar with in number of days") 
    } 
} 
+0

ありがとうございました! D – SwiftStarter

+0

@SwiftStarterウェルカムメイト:) –

+0

@NiravDこの文字列には、TimeZoneがGMTであるとは言いません。手動でGMTに設定しないでください。 TimeZoneは、文字列に明示的に指定されていない場合は、日付フォーマッタを使用するときには常にローカル時間でなければなりません。 –

関連する問題