为什么转换日期格式在XCode中是错误的

时间:2016-02-26 03:11:59

标签: ios objective-c nsdate nsdateformatter

- (NSString *) displayInvitationDate:(NSString *)paramDate {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-mm-dd"];

    NSDate *date = [dateFormatter dateFromString: paramDate];
    dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateFormat:@"EEE dd MMM"];
    NSString *convertedString = [dateFormatter stringFromDate:date];

    return convertedString;
}

调用上述功能

[self displayInvitationDate:@"2016-02-27"];

奇怪的结果是

Wed 27 JAN

,结果应为

SAT 27 JAN

请告诉我在编码之前哪个部分出错了。

1 个答案:

答案 0 :(得分:2)

你应该添加这一行。

[dateFormatter setTimeZone:[NSTimeZonetimeZoneWithAbbreviation:@"GMT"]];

并通过你的传递foemat yyyy-mm-dd替换yyyy-MM-dd,设置为....

[dateFormatter setDateFormat:@"yyyy-MM-dd"];

更多详情数据时间格式为Click Now