为 getRequestedUpdateDateWithHandler 构造一个日期:

Posted

技术标签:

【中文标题】为 getRequestedUpdateDateWithHandler 构造一个日期:【英文标题】:Constructing a date for getRequestedUpdateDateWithHandler: 【发布时间】:2016-04-26 23:16:28 【问题描述】:

我需要在每天午夜更新我的 watchOS 复杂功能。

startOfDay 是一天的开始(即今天凌晨 12 点)。

我应该像这样在今天的开头添加一天吗?

func getNextRequestedUpdateDateWithHandler(handler: (NSDate?) -> Void) 
    // Call the handler with the date when you would next like to be given the opportunity to update your complication content
    let startOfDay = NSDate().startOfDay
    let components = NSDateComponents()
    components.day = 1
    let startOfNextDay = NSCalendar.currentCalendar().dateByAddingComponents(components, toDate: startOfDay, options: NSCalendarOptions())
    handler(startOfNextDay)

或者我不应该在代码中添加一天,而只是做这样的事情:

func getNextRequestedUpdateDateWithHandler(handler: (NSDate?) -> Void) 
    // Call the handler with the date when you would next like to be given the opportunity to update your complication content
    let startOfDay = NSDate().startOfDay
    handler(startOfDay)

【问题讨论】:

【参考方案1】:

您希望将日期提前一天,因为您希望下一次请求的更新发生在明天的午夜。第一种方法可以满足您的需求,但您可以将其简化如下:

let calendar = NSCalendar.currentCalendar()
let startOfDay = calendar.startOfDayForDate(NSDate())
let startOfNextDay = calendar.dateByAddingUnit(.Day, value: 1, toDate: startOfDay, options: NSCalendarOptions())!

第二个代码将返回今天的上午 12 点,这已经是过去的时间了。

【讨论】:

以上是关于为 getRequestedUpdateDateWithHandler 构造一个日期:的主要内容,如果未能解决你的问题,请参考以下文章

SQL判断字段是不是为空,为NULL

2021-11-26:() 分值为2, (()) 分值为3, ((())) 分值为4, 也就是说,每包裹一层,分数就是里面的分值+1。 ()() 分值为2 * 2, (())() 分值为3 * 2。(

java怎么判断对象为null

码农八荣八耻

pandas把dataframe的数据列转化为索引列实战:单列转化为索引多列转化为复合索引

指定为非空的参数为空:无法更新 Spring Boot jpa 中的单个实体字段。导致指定为非空的参数为空