【发布时间】:2011-04-01 04:46:38
【问题描述】:
我有以下代码:
NSDateFormatter * df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setFormatterBehavior:NSDateFormatterBehaviorDefault];
myres.start_date = [df dateFromString:[NSString stringWithFormat:@"%@ %@", [self.data objectForKey:@"date"], [self.data objectForKey:@"start_time"]]];
NSLog(@"Start date is %@", [NSString stringWithFormat:@"%@ %@", [self.data objectForKey:@"date"], [self.data objectForKey:@"start_time"]]);
NSLog(@"Start date from NSDate is %@", myres.start_date);
myres.end_date = [df dateFromString:[NSString stringWithFormat:@"%@ %@", [self.data objectForKey:@"date"], [self.data objectForKey:@"end_time"]]];
NSLog(@"End date is %@", [NSString stringWithFormat:@"%@ %@", [self.data objectForKey:@"date"], [self.data objectForKey:@"end_time"]]);
NSLog(@"End date from NSDate is %@", myres.end_date);
我得到的结果是:
Start date is 2011-03-31 9:00:00
Start date from NSDate is 2011-03-31 16:00:00 +0000
End date is 2011-03-31 10:00:00
End date from NSDate is 2011-03-31 17:00:00 +0000
为什么结果不同? 我想拥有它,这样当我调用 myres.start_date 描述时,它会为我提供与字符串相同的数据。
【问题讨论】:
-
你朋友的开始时间和结束时间是什么时候?你从哪里得到这些?
-
它来自我拥有的字典......此时它不相关......我的观点是,如果您使用 NSDateFormatter 从 NSString 生成 NSDate ,那么您尝试从中调用描述新的 NSDate... 由于时区不同,结果会有所不同
标签: iphone objective-c nsdate