Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get UTC time for a particular date and time in swift?

Tags:

Helllo all,

I have a particular date & time selected from datepicker in iOS. i want to convert this date & time into UTC time.I have used below function for it.

func get_Date_time_from_UTC_time(string : String) -> String {

    let dateformattor = DateFormatter()
    dateformattor.dateFormat = "yyyy-MM-dd HH:mm:ss"
    dateformattor.timeZone = NSTimeZone.init(abbreviation: "UTC") as TimeZone!
    let dt = string
    let dt1 = dateformattor.date(from: dt as String)
    dateformattor.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZ"
    dateformattor.timeZone = NSTimeZone.local
    return dateformattor.string(from: dt1!)
  }

My location is in india. So when i pass time like 2016-12-26 09:53:45 then it gives me UTC time as 2016-12-26 15:23:00 +0530.Now when i search in google for UTC time it shows me time as 4:32 AM 26 december.Please tell why is such diffrence & am i doing correct ?

like image 983
TechChain Avatar asked Dec 26 '16 04:12

TechChain


1 Answers

Could you please try using below code: Because as per my understanding you should provide your local time zone first to convert your date into local and then it will convert into UTC:

func get_Date_time_from_UTC_time(string : String) -> String {

    let dateformattor = DateFormatter()
    dateformattor.dateFormat = "yyyy-MM-dd HH:mm:ss"
    dateformattor.timeZone = NSTimeZone.local
    let dt = string
    let dt1 = dateformattor.date(from: dt as String)
    dateformattor.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZ"
    dateformattor.timeZone = NSTimeZone.init(abbreviation: "UTC") as TimeZone!
    return dateformattor.string(from: dt1!)
  }

I replaced timeZone code.Check and let me know if not solved

like image 174
Dheeraj D Avatar answered Sep 23 '22 16:09

Dheeraj D