UILocalNotification 触发日期计算
Posted
技术标签:
【中文标题】UILocalNotification 触发日期计算【英文标题】:UILocalNotification fire date computation 【发布时间】:2014-05-27 15:36:26 【问题描述】:我无法触发UILocalNotification
我有一个 1 到 30 的用户输入,我想用它来为UILocalNotification
设置为firedate
。
例如,用户选择了 5。我想在当前日期后 5 天设置其 firedate
。你是怎么计算的?
谢谢。
这是我到目前为止所做的......使用它只需要几秒钟......
notification.fireDate = [[NSDate date] dateByAddingTimeInterval:self.daysBeforeNotification];
【问题讨论】:
你有没有研究或尝试过什么? 显示您的尝试,以便我们帮助您找到问题。 查看:-[NSCalendar dateByAddingComponents]
嗨@SimonMcLoughlin,我只尝试过notification.fireDate = [[NSDate date] dateByAddingTimeInterval:self.daysBeforeNotification];
,但它只持续了几秒钟..
@pretty_pau .... 你告诉我你不知道如何在几秒钟内通过 x 天????
【参考方案1】:
您可以使用NSCalendar
和NSDateComponents
来完成此操作。
NSInteger daysToAdd = 5;
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:daysToAdd];
NSDate *newDate = [[NSCalendar currentCalendar] dateByAddingComponents:comps toDate:currentDate options:0];
【讨论】:
嘿@Dima 感谢您的帮助。会试试这个。非常感谢。 正如 cmets 中有人在您的问题中提到的那样,您也可以使用您尝试过的方法。您只需将天数乘以其他单位即可得到秒数(天 * 60 * 60 * 24) 嗨@Dima,是的,谢谢它的工作。你能帮我解决我的另一个问题吗?我需要练习的是,我怎么知道何时在两个给定之间设置 firedate。例如。我将目标日期设置为 2014 年 6 月 1 日,并且在触发 fireate 之前我还有另一个输入天数,例如我将设置为在目标日期前 1 天或 2 天触发。如何使用NSTimeInterval
做到这一点? :)
您的问题对我来说并不完全清楚,但无论如何,您需要提出一个新问题来提出这个问题。以上是关于UILocalNotification 触发日期计算的主要内容,如果未能解决你的问题,请参考以下文章
当我打开通知托盘查看通知时 UILocalNotification 触发