डिफ़ॉल्ट रूप से NSDateFormatter लोकलटाइमज़ोन पर सेट होता है। चूंकि आपकी डेटस्ट्रिंग में टाइमज़ोन जानकारी नहीं थी, इसलिए उसने स्थानीय टाइमज़ोन में समय की गणना की। यदि आप जानते हैं कि आपके dateString का समय क्षेत्र UTC है, तो आपको उसे dateFormatter पर सेट करना होगा।
NSDate निरपेक्ष समय का प्रतिनिधित्व करता है, प्रतिनिधित्व wrt समय क्षेत्रों में भिन्न हो सकता है लेकिन यह एक अद्वितीय मूल्य है और यह दिन के उजाले की बचत से प्रभावित नहीं होगा।
-(NSDate *)formatDateWithString:(NSString *)dateString{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate* date = [dateFormatter dateFromString:dateString];
NSLog(@"Formatted Timestamp: %@ - Original Timestamp: %@", date,dateString);
return date;
}