簡単な質問、迷惑な問題。 私は時間を選択する日付ピッカーを持っています(例えば、午前11時)。次に、その時間をコンソールに表示するメソッドに接続されたボタン。文字通り、わずか5行のプロジェクト。コンソールに印刷された時間は、私が設定した時間に一時間早く表示されます(つまり、午前11時に設定すると、午前10時にそれが表示されます)。私のMacのタイムゾーンが正しく設定されて、時計が正しい時刻を表示します。私はStack Overflowを見て、NSCalendarやコンポーネントなどを含む非常に長い回答を見たことがありますが、これは一行のものでなければならないと確信しています。私がマカオを降りる前に助けてください。ありがとうNSDateの日付メソッドが間違った時刻を返す
--------------------------------------------- ------------------ EDIT ------------------------------- -------------------------------
[OK]を私はそれがはっきりさせるかどうかを確認するいくつかのコードを投稿します:
- (IBAction)setReminder:(id)sender{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSString *dateString = [formatter stringFromDate:self.datePicker.date];
NSLog(@"Setting a reminder for: %@", dateString);
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"another proof that date is right: %@", date);
UILocalNotification *note = [[UILocalNotification alloc]init];
note.alertBody = @"This is a reminder!";
note.fireDate = date;
[[UIApplication sharedApplication] scheduleLocalNotification:note];}
最初のNSLogは、右の時間を返しますが、2番目のNSLogは時間早い時間が日付ピッカーを使用して設定することを返すので、通知がトリガされることはありません。私は間違って何をしていますか? tx
私たちにあなたが試してみるコードを表示してくださいあなたを助けることになります。 –
ええ、試したコードを投稿してください!! – Lion
私はいくつかのコードでテキストを編集しました。 – Paul