2010-09-15 52 views
1

[NSDate的日期]的iOS 4.0中使用返回日期的格式为: 2010-09-15 9时28分26秒0530的NSDate格式4.1

但现在在iOS 4.1的它返回的日期格式: 2010-09-15 09:28:26 GMT

在我的应用程序中导致了很多问题。

有谁知道如何解决这个问题?

由于提前, YPK

+0

显示您用于“获取日期”的示例代码...和(更可能是问题)...显示您用于“显示日期”的代码。 – Patricia

回答

3

感谢您的答复。我搜索了这个问题,并发现NSDate在iOS 4.1中有一个bug。所以,我用下面的方法

- (NSString *)formattedStringUsingFormat:(NSString *)dateFormat 
{ 
    NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:dateFormat]; 
    [formatter setCalendar:cal]; 
    [formatter setLocale:[NSLocale currentLocale]]; 
    NSString *ret = [formatter stringFromDate:[NSDate date]]; 
    [formatter release]; 
    [cal release]; 
    return ret; 
} 

解决了这个问题,我通过了格式

[self formattedStringUsingFormat:@"yyyy-MM-dd HH:mm:ss ZZ"]; 
1

在iOS2.x和3.x的NSDate的描述/ datefromstring函数返回: 2010-09-24 17:30:00 - 0700

在iOS 4.1的它返回: 2010-09-25 00:30:00 GMT

你可以提交一个bug苹果。