我正在为IOS创建闹钟应用程序。长话短说,我已经配置DatePicker只显示小时和分钟。添加1日至日期
我的问题是,当用户输入6:00 AM时,我希望它是在第二天早上,Xcode现在假设它是同一天。
EX:用户在周三晚上10点睡觉,并在周四早上6点设置闹钟。我的应用程序假设早上6点是指星期三。我怎样才能解决这个问题?
我正在为IOS创建闹钟应用程序。长话短说,我已经配置DatePicker只显示小时和分钟。添加1日至日期
我的问题是,当用户输入6:00 AM时,我希望它是在第二天早上,Xcode现在假设它是同一天。
EX:用户在周三晚上10点睡觉,并在周四早上6点设置闹钟。我的应用程序假设早上6点是指星期三。我怎样才能解决这个问题?
获得下一次出现时间的最可靠的方法是的Calendar
,因为它也考虑夏令时更改。
假设datePicker
是NSDatePicker
实例:
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)
我喜欢用AFDateHelper库个人。
import AFDateHelper
let tomorrowDate = dateFromPicker.adjust(.day, offset: 1)
你到目前为止做了哪些研究?你写了什么代码?此问题包含解决问题所需的所有信息(例如:创建日期组件以在当天添加1):https://stackoverflow.com/q/24089999/558933 –