Swift 2.0+一周开始查找星期几

时间:2015-11-12 06:57:36

标签: ios8 nsdate swift2 foundation nscalendar

我使用的是Swift 2.0+,需要它与iOS 8.0+兼容。我想知道一个月的哪一天开始。例如,11月15日将返回星期日,12月15日将返回星期二,1月16日将返回星期五。我认为最好的方法是获得当周和当月的当天,然后倒数,直到你达到1并获得那一天。目前我有

// Returns the day of the week as an integer 1 being Sunday and 7 being Saturday
func dayOfWeek() -> Int {
        let components = calender.component(NSCalendarUnit.Weekday, fromDate: t)
        return components
    }

这会计算当周的当天,之后我遇到了障碍。

1 个答案:

答案 0 :(得分:0)

我找到了答案

// This function should return the value I need 0 being Sunday and 6 being Saturday
    func dayMonthStarted() -> Int {
        // 0 -> Sunday 6 -> Saturday
        var component = calender.component(NSCalendarUnit.Day, fromDate: date)
        var day = dayOfWeek()
        while component > 1 {
            component--
            if day == 0 {
                day = 6
            } else {
                day--
            }
        }

        return day - 1
    }