这是我的日期格式功能。这段代码在我的模拟器和设备中完美运行,但在我在丹麦的朋友设备中却没有。 我在同一个类中为两个不同的日期调用了这个函数,但是对于一个日期,它的工作完美,但对于另一个日期,它返回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;
}
答案 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 值,则无法格式化日期,否则您的方法是正确的。