我已经坐了一段时间了。我总能弄清楚我在做什么错。
NSString * dateString = @"2011-11-21 13:00";
NSDateFormatter *serverDateFormatter = [[NSDateFormatter alloc] init];
[serverDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *serverDate = [serverDateFormatter dateFromString:dateString];
NSLog(@"%@", serverDate);
输出:
2011-11-21 12:00:00 +0000
为什么13:00转换为12:00?我究竟做错了什么?
最佳答案
您需要设置时区,例如
NSString * dateString = @"2011-11-21 23:20";
NSDateFormatter *serverDateFormatter = [[NSDateFormatter alloc] init];
[serverDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
[serverDateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *serverDate = [serverDateFormatter dateFromString:dateString];
NSLog(@"%@", serverDate);
输出:
2011-11-23 14:22:10.924 xxx [23235:207] 2011-11-21 23:20:00 +0000