繁体   English   中英

无法在特定时间触发NSLocalNotification

[英]Not able to fire NSLocalNotification at specific time

我是iOS开发的新手。

我在我的应用程序中仅使用简单的UILocalNotification 我从UIDatePicker获取开火日期

self.datePicker.datePickerMode = UIDatePickerModeTime

当我通过UIDatePicker设置时间时,我想根据UIDatePicker时间触发日期

我得到了

NSLog(@"%@", self.datePicker.date);

控制台: 2013-08-09 10:28:30 +0000 -------> (我得到的时间错误)

因此,我这次通过NSDateFormatter将其转换为NSString

NSDateFormatter *dateFormator = [[NSDateFormatter alloc] init];
[dateFormator setDateFormat:@"h:mm a"];
NSLog(@"%@", [dateFormator stringFromDate:self.datePicker.date]);

控制台:3: 58 PM -------> (在这里我有适当的时间)

但在fireDate财产NSLocalNotification我需要办理其价值NSDate ,所以我再次转换的NSString(我得到了它正确的时间) NSDate

NSDate *fireDate = [[NSDate alloc] init];
fireDate = [dateFormator dateFromString:[dateFormator stringFromDate:self.datePicker.date]];

控制台: 2000-01-01 10:28:00 +0000 -------> (我弄错了时间。)

这里的问题是我如何通过以下方式在NSLocalNotification中设置适当的时间
UIDatePicker (还有am / pm)

我只需要触发第二个控制台中的正确时间即可(如NSString

请帮我解决这个问题。

您对数据中的内容及其在控制台上显示的内容感到困惑。 具体来说,在第二条日志消息中,您需要再次对其进行格式化。

看来日期还可以。 因此,只需按预期使用即可。 如果希望它在NSLog语句中正确显示,则必须对其进行格式化(知道如何做)。 无需转换,只需格式化数据即可正确显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM