将1天添加到日期

时间:2017-07-23 19:34:32

标签: ios swift

我正在为IOS创建一个闹钟应用程序。长话短说,我已将DatePicker配置为仅显示小时和分钟。

我的问题是,当用户输入上午6:00时,我希望它是第二天早上,Xcode现在假设它是同一天。

EX:用户在周三晚上10点睡觉,并在周四早上6点设置闹钟。我的应用程序假设上午6:00是为了周三。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

获得下一次出现时间的最可靠方法是nextDate(after:matching:matchingPolicy: Calendar,因为它还会考虑夏令时的变化。

假设datePickerNSDatePicker个实例:

let date = datePicker.date

let calendar = Calendar.current
// get hour and minute components of the given date
let components = calendar.dateComponents([.hour, .minute], from: date)
// calculate the next occurrence of the date components from now
let nextOccurrence = calendar.nextDate(after: Date(), matching: components, matchingPolicy: .nextTime)

答案 1 :(得分:0)

我喜欢亲自使用AFDateHelper图书馆。

import AFDateHelper

let tomorrowDate = dateFromPicker.adjust(.day, offset: 1)