首页 > 解决方案 > 如何使用 Swift 中的 nextDate 函数获取给定日期的下个月日期?

问题描述

我正在尝试使用 nextDate 函数获取给定日期的下个月日期。但结果并不如预期。你能帮忙看看下面的代码有什么问题吗?

var dateComponents = DateComponents()
dateComponents.hour = 11
dateComponents.minute = 25
dateComponents.second = 0
dateComponents.day = 9

let nextMonthDate = Calendar.current.nextDate(after: Date(), matching: 
dateComponents, matchingPolicy: .nextTime)

print("Current Date: \(Date())") // 2018-07-12 07:50:22 +0000

print("nextMonthDate: \(nextMonthDate)") // 2018-08-01 00:00:00 +0000
                                        // expected 2018-08-09 11:25:00 +0000

标签: swift

解决方案


将 .nextTime 更改为 .strict 后,它按我的预期工作。


推荐阅读