快速添加1周到当前日期

use*_*746 1 datepicker swift

我正在使用,datePicker并尝试将最小日期设置为当前日期,将最大日期设置为从今天开始的一周。我似乎无法使最大的工作。这是我的代码:

calendarView.minimumDate = todaysDate
calendarView.maximumDate = [todaysDate .dateByAddingTimeInterval(60*60*24*10)]
Run Code Online (Sandbox Code Playgroud)

mis*_*may 6

即使在年底,此代码也能正常工作。

Calendar.current.date(byAdding: .weekOfYear, value: 1, to: date)
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下,使用“.weekOfMonth”而不是“.weekOfYear”有什么区别吗?我尝试了不同的日历、区域设置和时区,但似乎工作正常 (2认同)

Ras*_*n L 5

你可以做:

let today = NSDate()
let cal = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)
let nextWeek = cal!.dateByAddingUnit(NSCalendar.Unit.Day, value: 7, toDate: today, options: NSCalendar.Options.MatchLast)
Run Code Online (Sandbox Code Playgroud)

这将打印出来 2016-09-14 04:21:14

斯威夫特5.x

let calendar = Calendar.current.date(byAdding: .year, value: 1, to: Date()) // 2020-11-26 21:38:03 +0000
Run Code Online (Sandbox Code Playgroud)

  • 切勿使用第一个选项。在某些情况下这是错误的。 (2认同)