如何从日名中取一个日期?

时间:2015-07-15 08:58:42

标签: ios objective-c iphone

我想要一个方法,只返回下一个固定名称日的日期。(例如:星期一,星期四等)。

Ex:所以,如果我想提供一个名字(星期一)或一个数字(1,从第一周开始的第一天),它应该返回20/07/2015。

有可能得到吗?

编辑:

我希望在当前日期之前占用最多的一天(周一,周四,周六等)。

我举个例子。当前日期为WED,15/07/15:

如果我想在星期五占用最多的日期,结果应该是日期:17/07/15。

如果我想在星期一占用最多的日期,结果应该是日期:20/07/15。

我怎么能得到这个?

1 个答案:

答案 0 :(得分:0)

由于不同语言环境设置的第一个工作日可能不同,这是使用工作日索引的解决方案。 返回值是可选的NSDate对象

func dateOfNextWeekday(weekday : Int) -> NSDate? {
  let components = NSDateComponents()
  components.weekday = weekday
  let calendar = NSCalendar.currentCalendar()
  return calendar.nextDateAfterDate(NSDate(), matchingComponents: components, options: .MatchNextTime)
}

dateOfNextWeekday(1)