0

私はiOS開発の初心者です。

UILocalNotification私は自分のアプリでシンプルに使用しています。発火日を取得UIDatePickerします

self.datePicker.datePickerMode = UIDatePickerModeTime

それまでに時間を設定したら、時間通りにUIDatePicker日付ベースをUIDatePicker起動したい

私が得たのは

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

コンソール: 2013-08-09 10:28:30 +0000 -------> (私が得た間違った時間。)

だから、私はこの時間をに変換NSStringしますNSDateFormatter

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

console : 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 -------> (私が得た間違った時間。)


UIDatePicker ここでの質問は、 (午前/午後も含めて) NSLocalNotificationで適切な時間を設定するにはどうすればよいですか?

2番目のコンソールで得た適切な時間を発射する必要があるだけです(としてNSString

この問題について私を助けてください。

4

1 に答える 1

0

データの内容とコンソールに表示される内容について混乱しています。具体的には、2 番目のログ メッセージで再度フォーマットする必要があります。

デートもOKのようです。したがって、期待どおりに使用してください。NSLog ステートメントで正しく表示されるようにするには、書式を設定する必要があります (方法はわかっています)。変換は必要ありません。適切に表示するためにデータをフォーマットするだけです。

于 2013-08-09T10:39:54.070 に答える