小编Bri*_*vel的帖子

NSDate返回错误的周数

我有以下代码:

getWeek(addDays(Date, amount: 6))

func addDays(date: NSDate, amount: Int) -> NSDate {
    // calculation $additionalDays
    let additionalDays = amount
    // adding $additionalDays
    let components = NSDateComponents()
    components.day = additionalDays

    // important: NSCalendarOptions(0)
     let futureDate = NSCalendar.currentCalendar()
    .dateByAddingComponents(components, toDate: date, options: NSCalendarOptions(rawValue: 0))
    return futureDate!
}

func getWeek(today:NSDate)->Int? {
    let formatter = NSDateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    let myCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
    let myComponents = myCalendar.components(.WeekOfYear, fromDate: today)
    let weekNumber = myComponents.weekOfYear
   return weekNumber
}
Run Code Online (Sandbox Code Playgroud)

getWeek(addDays(Date, amount: 6))返回日期dec 27, 2015, …

nsdate nsdateformatter swift

4
推荐指数
1
解决办法
1304
查看次数

在 Swift 中使用 Weeknumber 获取一周的第一天

我正在尝试获取本周的第一天(比如说本周,我应该获取 2015-09-13)。

但是我在苹果提供的源代码中找不到合适的函数。

代码应该是这样的......

print(getFirstDay(40)) // Should print 27

func getFirstDay(weekNumber:Int)->Int?{
    let formatter = NSDateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    if let todayDate = formatter.dateFromString(weekNumber) {
        let myCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
        let myComponents = myCalendar.dateFromComponents(.weekOfYear)
        let date = myComponents.date
        return date
    } else {
        return nil
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,上面的代码不起作用(显然),但我认为应该是在正确的方向上。

我怎样才能做到这一点?

/* 不重要 */ 我正在尝试在表格视图中创建一种日历应用程序,该应用程序由 4 周的部分分隔,我想知道新一周从哪一天开始。

calendar nsdate nsdatecomponents swift

2
推荐指数
1
解决办法
7500
查看次数