【问题标题】:Add 1 Day to a Date [closed]将 1 天添加到日期 [关闭]
【发布时间】:2017-07-23 19:34:31
【问题描述】:

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

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

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

【问题讨论】:

  • 到目前为止你做了哪些研究?你写了什么代码?此问题包含解决问题所需的所有信息(例如:创建一个日期组件以将 1 添加到日期):stackoverflow.com/q/24089999/558933

标签: ios swift


【解决方案1】:

获取下一次出现时间的最可靠方法是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)

【讨论】:

    【解决方案2】:

    我个人喜欢使用AFDateHelper 库。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-16
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2011-01-20
      • 2023-03-09
      相关资源
      最近更新 更多