日期显示空

时间:2015-06-08 10:43:29

标签: ios

这是我的日期格式功能。这段代码在我的模拟器和设备中完美运行,但在我在丹麦的朋友设备中却没有。 我在同一个类中为两个不同的日期调用了这个函数,但是对于一个日期,它的工作完美,但对于另一个日期,它返回null。 我使用Web服务从数据库获得两个日期。 我的朋友在iOS 7.0上使用iPhone 4s

-(NSString*)DateFormat:(NSString *)str{

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"MMM dd yyyy HH:mm:ss:SSSa"];
    NSDate *date1 = [formatter dateFromString:str];
    [formatter setDateFormat:@"dd-MMM-yyyy"];
    str = [formatter stringFromDate:date1];    
    return str;
}

3 个答案:

答案 0 :(得分:1)

-(NSString*)DateFormat:(NSString *)str{

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"MMM dd yyyy HH:mm:ss:SSSa"];
    NSDate *date1 = [formatter dateFromString:str];
    [formatter setDateFormat:@"dd-MMM-yyyy"];
    [formatter setTimeZone:[NSTimeZone systemTimeZone]];
    str = [formatter stringFromDate:date1];    
    return str;
}

答案 1 :(得分:1)

-(NSString*)DateFormat:(NSString *)str{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"MMM dd yyyy HH:mm:ss:SSSa"];
    NSDate *date1 = [formatter dateFromString:str];
    [formatter setDateFormat:@"dd-MMM-yyyy"];
    NSString * result = [formatter stringFromDate:date1];    
    return result;
}

答案 2 :(得分:0)

首先调试代码,检查您是以相同格式或不同格式或零值获取日期。如果日期格式不同,则必须将其保留在 if condition 中才能获得正确的日期。如果您获得 nil 值,则无法格式化日期,否则您的方法是正确的。