0

我是 iOS 开发的新手。

我在我的应用程序中使用简单UILocalNotification。我得到了开火UIDatePicker日期

self.datePicker.datePickerMode = UIDatePickerModeTime

当我设置我的时间时,UIDatePicker我想按UIDatePicker时间触发日期

我得到的是

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

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

所以,我把这个时间转换NSStringNSDateFormatter

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

控制台: 下午 3:58 -------> (我得到了适当的时间)

但是在我的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

请在这个问题上帮助我。

4

1 回答 1

0

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

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

于 2013-08-09T10:39:54.070 回答