Get current iPhone device timezone date and time from UTC-5 timezone date and time iPhone app? Get current iPhone device timezone date and time from UTC-5 timezone date and time iPhone app? ios ios

Get current iPhone device timezone date and time from UTC-5 timezone date and time iPhone app?


I have tested your scenario and added some code for your reference. Please test the below and please let me know it is useful for you.

NSString *dateStr = @"2012-07-16 07:33:01";NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; [dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *date = [dateFormatter1 dateFromString:dateStr];NSLog(@"date : %@",date);NSTimeZone *currentTimeZone = [NSTimeZone localTimeZone];NSTimeZone *utcTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];NSInteger currentGMTOffset = [currentTimeZone secondsFromGMTForDate:date];NSInteger gmtOffset = [utcTimeZone secondsFromGMTForDate:date];NSTimeInterval gmtInterval = currentGMTOffset - gmtOffset;NSDate *destinationDate = [[[NSDate alloc] initWithTimeInterval:gmtInterval sinceDate:date] autorelease];NSDateFormatter *dateFormatters = [[NSDateFormatter alloc] init];[dateFormatters setDateFormat:@"dd-MMM-yyyy hh:mm"];[dateFormatters setDateStyle:NSDateFormatterShortStyle];[dateFormatters setTimeStyle:NSDateFormatterShortStyle];[dateFormatters setDoesRelativeDateFormatting:YES];[dateFormatters setTimeZone:[NSTimeZone systemTimeZone]];  dateStr = [dateFormatters stringFromDate: destinationDate];NSLog(@"DateString : %@", dateStr);

Thanks.


NSDate* currentDate = [NSDate date];NSTimeZone* CurrentTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];NSTimeZone* SystemTimeZone = [NSTimeZone systemTimeZone];NSInteger currentGMTOffset = [CurrentTimeZone secondsFromGMTForDate:currentDate];NSInteger SystemGMTOffset = [SystemTimeZone secondsFromGMTForDate:currentDate];NSTimeInterval interval = SystemGMTOffset - currentGMTOffset;NSDate* TodayDate = [[NSDate alloc] initWithTimeInterval:interval sinceDate:currentDate];NSLog(@"Current time zone Today Date : %@", TodayDate);

Swift 4

var currentDate = Date()var CurrentTimeZone = NSTimeZone(abbreviation: "GMT")var SystemTimeZone = NSTimeZone.system as NSTimeZonevar currentGMTOffset: Int? = CurrentTimeZone?.secondsFromGMT(for: currentDate)var SystemGMTOffset: Int = SystemTimeZone.secondsFromGMT(for: currentDate)var interval = TimeInterval((SystemGMTOffset - currentGMTOffset!))var TodayDate = Date(timeInterval: interval, since: currentDate)print("Current time zone Today Date : \(TodayDate)")

Hope it helps to another developers ! Happy Coding !


May this extension would be easier.

Swift 4: UTC/GMT ⟺ Local (Current/System)

extension Date {    // Convert local time to UTC (or GMT)    func toGlobalTime() -> Date {        let timezone = TimeZone.current        let seconds = -TimeInterval(timezone.secondsFromGMT(for: self))        return Date(timeInterval: seconds, since: self)    }    // Convert UTC (or GMT) to local time    func toLocalTime() -> Date {        let timezone = TimeZone.current        let seconds = TimeInterval(timezone.secondsFromGMT(for: self))        return Date(timeInterval: seconds, since: self)    }}// Try itlet utcDate = Date().toGlobalTime()let localDate = utcDate.toLocalTime()print("utcDate - (utcDate)")print("localDate - (localDate)")