2016-07-28 3 views
2

土曜日や日曜日にデータを表示したいアプリがあります。 実際に私はセグメント化されたコントロールを持っています。もし自分のオプション(週末になるでしょう)を押すと、土曜日か日曜日か、最初の週末かをチェックしたいと思います。次の週末を見つけるにはどうすればいいですか?

これは私が

dateeventは私がCURRENTDATE CURRENTDATEがCURRENTDATE

であると宣言されているかどうかを確認するために取る変数である現在の日付を取るためにセグメント化されたコントロールの私の最初のオプションのために何をやったかでありますその後、あなただけのヨーヨーはトンを必要としない日数数えることができる週

func dayOfTheWeek() -> String? { 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.locale = NSLocale(localeIdentifier: "en_US") 
    dateFormatter.dateFormat = "EEEE" 
    return dateFormatter.stringFromDate(self) 
} 

の日を取得するための

if dateevent.earlierDate(self.currentDate).isEqualToDate(self.currentDate){ 

    if NSCalendar.currentCalendar().isDate(dateevent, equalToDate: self.currentDate, toUnitGranularity: .Day){ 

           //Do something 
          } 

         } 

答えて

2

まずNSDateComponentsweekdayプロパティに追加する日数を見つけ、その後、あなたはdateByAddingComponents(_:toDate:options:)を使用することができます。

let today = NSDate() 
let calendar = NSCalendar.currentCalendar() 

let todayWeekday = calendar.component(.Weekday, fromDate: today) 

let addWeekdays = 7 - todayWeekday // 7: Saturday number 
var components = NSDateComponents() 
components.weekday = addWeekdays 

let nextSaturday = calendar.dateByAddingComponents(components, toDate: today, options: .MatchFirst) 
+0

こんにちは、私はあなたのコードをテストした可能性があり、私は日付を印刷しているため、それは素晴らしいことだ、それは土曜日返されるが、私はしようとすると、それらを比較しなさいそれはまた時間を比較する従って私は日付だけをいかに比較できるか知っているか。 –

+0

ok nevermind私はそれを見つけた:P –

0

拡張O週末とApple docsからNSDate

NSDate().dateByAddingTimeInterval(60 * 60 * 24 * daysFromTodayToWeekend) 
3

に追加:日付が週末内に入るには、あなたがその週末の期間の開始日を 決定するために rangeOfWeekendStartDate:interval:containingDate:メソッドを使用することができない

場合。それ以外の場合は、 nextWeekendStartDate:interval:options:afterDate:メソッドを使用して、次週または前週の開始日を と決定できます。

+0

あなたは一例で私を助けることができれば、私はそれを使用しようとしましたが、私はありませんありがとう –

関連する問題