我想将日期对象保存到我的应用程序的后端。这是代码:
NSDate *date = self.birthPickerView.date;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSString *stringFromDate = [formatter stringFromDate:date];
NSLog(@"%@", stringFromDate);
NSDate *endDate = [formatter dateFromString:stringFromDate];
[formatter release];
NSLog(@"%@", endDate);
// Save to database
[user setObject:endDate forKey:@"birth"];
这是打印结果:
1985-03-05 00:00:00
1985-03-04 23:00:00 +0000
结束日期不对。我想将1985-03-05
保存在数据库中。你能帮我解决什么问题吗?
修改
[self.birthPickerView setTimeZone:[NSTimeZone localTimeZone]];
NSLog(@"%@", self.birthPickerView.date);
NSLog(@"%@", self.birthPickerView.timeZone);
[user setObject:self.birthPickerView.date forKey:self.navTitle];
此代码在数据库中保存1984-03-04 23:00:00
。这有什么问题?
答案 0 :(得分:2)
我不明白为什么你需要将你的日期转换为字符串,然后再回到日期。
但是,我很确定会发生这种情况,因为您没有在NSDateFormatter上设置时区。默认时区是GMT,可能会导致您在那里看到时间偏移。