-5

現時点で私のコンソールは読み取ります

This is the date: 2013-04-27 00:21:00 +0000

ただし、UIDatePicker (pick) では、27 ではなく 2013-04-26 を選択しています。

-(IBAction)saveList:(id)sender {

    NSDateFormatter *pickerFormatter = [[NSDateFormatter alloc] init];
    [pickerFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    pickerFormatter.timeZone = [NSTimeZone localTimeZone];
    pick.date = [pickerFormatter dateFromString:dateLabel.text];
    NSLog(@"This is the date: %@", pick.date);

    [ListItemObject saveListItem:[PFUser currentUser] withName:listFieldText withDate:pick.date];

    [self.navigationController popViewControllerAnimated:YES];
    [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}

この部分は正常に機能しており、ラベルに正しい日付が表示されています。

-(IBAction)updateDateLabel:(id)sender {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm"];
    dateLabel.text = [formatter stringFromDate:pick.date];

}
4

2 に答える 2

0

0000UI がシステムの既定のタイムゾーン (自分のもの) で動作している間、コンソールには UTC を意味するタイムゾーンが表示されていることに注意してください。

これは、デバッグ コンソールがdescription日付を UTC にフォーマットするメソッドを使用しているためです。

 NSLog(@"%@", [formatter stringFromDate:pick.date]);

UI とコンソールでまったく同じものが表示されるようにします。

于 2013-04-27T00:26:05.047 に答える
0

また、次のようなものを使用して日付を記録できます。

NSDate *now = [NSDate date];
NSLog(@"Now is %@", [now descriptionWithLocale:[NSLocale currentLocale]]);
于 2013-04-27T07:30:43.300 に答える