【发布时间】:2021-05-19 19:01:53
【问题描述】:
我正在尝试创建一个接受两个参数的日期扩展静态函数:(month: Int, year: Int) 并返回 -> Date。
返回的月份是它的 .startOfMonth:
var startOfMonth: Date {
let calendar = Calendar(identifier: .gregorian)
let components = calendar.dateComponents([.year, .month], from: self)
return calendar.date(from: components)!
}
我知道如何通过将 n-months 添加到当前来检索未来的一个月:
func addMonths(_ numMonths: Int) -> Date {
let cal = NSCalendar.current
return cal.date(byAdding: .month, value: numMonths, to: self)!
}
而且我想这可以以一种迂回的方式用于确定我正在寻找的内容,首先确定从当前月份开始的几个月是我有兴趣获取返回日期的月份。但如果我可以在不需要执行此步骤的情况下检索它,我会更喜欢,特别是如果我实际上不确定该月是否真的在未来。
【问题讨论】:
-
@JoakimDanielson 他的扩展程序将返回日期实例的月初。 OP 想要的是指定年份和月份。
-
@JoakimDanielson 我确实理解了这个问题。不确定你不清楚什么。
-
@JoakimDanielson 我同意你的最后评论,但第一个没有意义。
-
如果这个问题更像是一个请求,我们深表歉意。需要明确的是,我对如何实现这一点一无所知(尽管在发布之前进行了很多搜索),这就是为什么这个问题不包括任何会导致明确问题/问题的失败尝试。
-
FWIW,我已经编辑了这个问题,以方便将来查看这个问题的人。
标签: swift date calendar nsdateformatter nsdatecomponents