My local and default time zone is GMT +5 but when I get date and time by NSDate it return me GMT date and time.
For example the code and output from my code while
Eliseo Chavez Jr answer translated to Swift
let sourceDate = NSDate();
let sourceTimeZone = NSTimeZone(abbreviation: "GMT")!;
let destinationTimeZone = NSTimeZone.systemTimeZone();
let sourceGMTOffset: NSInteger = sourceTimeZone.secondsFromGMTForDate(sourceDate);
let destinationGMTOffset:NSInteger = destinationTimeZone.secondsFromGMTForDate(sourceDate);
let interval: NSTimeInterval = Double (destinationGMTOffset - sourceGMTOffset);
let destinationDate = NSDate(timeInterval: interval, sinceDate: sourceDate);