Objective c 获取“NSDate”表示形式的最简单方法;将发生的下一个上午7点;可可粉?
我想我可以通过使用Objective c 获取“NSDate”表示形式的最简单方法;将发生的下一个上午7点;可可粉?,objective-c,cocoa,macos,Objective C,Cocoa,Macos,我想我可以通过使用NSCalendar和NSDateComponents来实现我想要的,但这将运行如下操作: 现在就开始 从“现在”创建一个NSDateComponents 如果“现在”是早上7点之前,那么使用今天的日期 如果“现在”是早上7点以后,使用明天的日期。 如果今天是该月的最后一天,则增加月份,将天设置为1。 如果是12月,每年也增加1 设定小时、分钟、秒 创建新的NSDate 这一切似乎都很冗长,但这似乎是这里的其他答案所暗示的,而文档并没有提供任何线索。我在我能找到的所
NSCalendar
和NSDateComponents
来实现我想要的,但这将运行如下操作:
- 现在就开始
- 从“现在”创建一个
NSDateComponents
- 如果“现在”是早上7点之前,那么使用今天的日期
- 如果“现在”是早上7点以后,使用明天的日期。
- 如果今天是该月的最后一天,则增加月份,将天设置为1。
- 如果是12月,每年也增加1
- 如果今天是该月的最后一天,则增加月份,将天设置为1。
- 设定小时、分钟、秒
- 创建新的
NSDate
有没有一个简单的方法来询问“下一个发生在早上7点”的问题?我还没有尝试过,但我认为这会奏效:
- 现在开始约会
- 从现在开始创建
NSDateComponents
- 将小时组件设置为7
- 将7am日期组件转换回
NSDate
- 如果早上7点的日期比现在晚,你就完了
- 否则,请使用
-[NSCalendar dateByAddingComponents:options:][/code>将上午7点的日期提前一天