NSDateFormatter and Time Zone issue?
If the date string is in GMT you can't use your system Timezone to create the NSDate from the NSString.
replace the first occurrence of [dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
with [dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
Comments
-
saadnib almost 2 years
I have a string with time in GMT and i want to make it according to the system time zone but its not working properly -
NSLog(@"Time Str = %@",Time); NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"dd-MM-yyyy hh:mm a"]; [NSTimeZone resetSystemTimeZone]; NSLog(@"system time zone = %@",[NSTimeZone systemTimeZone]); [dateFormat setTimeZone:[NSTimeZone systemTimeZone]]; NSDate *date = [dateFormat dateFromString:Time]; [dateFormat setTimeZone:[NSTimeZone systemTimeZone]]; NSLog(@"date from string = %@",date); NSLog(@"string from date = %@",[dateFormat stringFromDate:date]);
Output at console -
////////////////////////////////////////////////////////////////////////////////////////////////
Time Str = 09-12-2011 07:57 AM
system time zone = Asia/Calcutta (IST) offset 19800
date from string = 2011-12-09 02:27:00 +0000
string from date = 09-12-2011 07:57 AM
////////////////////////////////////////////////////////////////////////////////////////////////
Calcutta is +5:30 from GMT, so the time in date should be 1:27 but its showing 02:27. Also when i take a string from this date its showing me the same sting that i used to make date, i want the string updated according system time zone.
Thanks
-
S.J over 9 yearsIf I want my app to work any where in any timezone then what should I do?
-
Aashish almost 7 yearsyou need to use the standard GMT timeZone and convert it to the local timezone as per required.