ios – 获取swift特定日期和时间的UTC时间?

Helllo all,

我有一个特定的日期&从iOS中的datepicker中选择的时间.我想转换这个日期&到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.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!)
  }

我的位置在印度.因此,当我像2016-12-26 09:53:45那样通过时间时它会给我UTC时间2016-12-26 15:23:00 0530.Now当我在谷歌搜索UTC时间时它显示我的时间为4 :12月26日上午32点.请告诉我为什么会有这样的差异&我做得对吗?

最佳答案 您可以尝试使用以下代码:

因为根据我的理解,您应首先提供您的本地时区,将您的日期转换为本地,然后它将转换为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!)
  }

我替换了timeZone code.Check并让我知道如果没有解决

点赞