我通过JSON通过Web服务获得String格式的日期,mysql数据库中的这个日期是一个TimeStamp字段。
我以这种方式获取网络服务的日期 2013-09-24 20:30:00
当我运行代码从NSString获取NSDate时, 2013-09-24 18:30:00 +0000
我用来解析的代码是:
- (NSDate *)parseNSStringToNSDate:(NSString *)hora {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
return [dateFormatter dateFromString:hora];
}
如果你发现我已经在两小时内完成了两个小时而不知道为什么。 我也一直在测试时区设置。例如:
- (NSDate *)parseNSStringToNSDate:(NSString *)hora {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GTM"]];
return [dateFormatter dateFromString:hora];
}
答案 0 :(得分:4)
你可以这样做。
- (NSDate *)parseNSStringToNSDate:(NSString *)hora {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale * enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[dateFormatter setLocale:enUSPOSIXLocale];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
return [dateFormatter dateFromString:hora];
}
希望,这会奏效。
一切顺利