我有这个:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
[dateFormatter setDateFormat:@"yyyy-MM-DD"];
NSDate *offsetDay = [dateFormatter dateFromString:entry.date];
String entry.date是2014-02-16,结果offsetDay是2014-01-16。 为什么会发生这种情况?
感谢。
答案 0 :(得分:4)
尝试一下:
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
如果我没记错的话,DD
是一年中的某一天,而不是您想要的那一天。您可以找到完整的NSDateFormatter
格式表here
答案 1 :(得分:0)
尝试此代码编辑。
NSString *entry=@"2014-01-16";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *offsetDay = [dateFormatter dateFromString:entry];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];
NSLog(@"date--%@",[dateFormatter stringFromDate:offsetDay]);