views:

284

answers:

4

Hi All,

[NSDate date]in iOS 4.0 used to return date in the format: 2010-09-15 09:28:26 +0530

but now in iOS 4.1 it returns the date in the format: 2010-09-15 09:28:26 GMT

In my application it is leading to lots of problems.

Does anyone know how to fix this?

Thanks in advance, YPK

A: 

Show example code that you are using to "get the date" ... and (more likely the problem)... show code that you are using to "display the date".

Patricia
A: 

Use NSDateFormatter

vikingosegundo
+1  A: 

Thank for your replies. I googled about the problem and somewhere I found that NSDate has a bug in iOS 4.1. So I solved the problem using following method

- (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;
}

and I passed the format as

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

In iOS2.x and 3.x the NSDate description/datefromstring function returns: 2010-09-24 17:30:00 - 0700

in iOS 4.1 it returns this: 2010-09-25 00:30:00 GMT

You could submit a bug to apple.

MGC