通过添加/减去本地偏移量计算日期时间 [将任何日期时间转换为 UTC 时间格式]

Calculate date time by adding / subtracting local offset [ Convert any date time , to UTC time format]

我要登机了:

  1. 服务中的预定日期和预定时间以及航班本地偏移值

现在需要找出我的日期时间(本地时区)和日期时间(来自服务)之间的差异。

问题:我的本地日期时间与航班预定日期和时间之间的差异 B/W(可以是任何时区,所以在服务中我得到 LOCALOFFSET 值,例如:“-7:00”或“- 6:00

例如: 航班日期时间:2018-12-28 05:15:00,本地偏移量:-06:00 我的本地日期时间:2018-12-28 14:08:00

需要找出不同点吗?

谢谢

通过使用来自服务的 localoffset 和 swift 中可用的方法解决了这个问题,TimeZone(secondsFromGMT:offset) :

func findFlightTimeInUTCFormat(dateString:String, localOffSet:String) -> Date? {
        let gmtTimeString = dateString

        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
        formatter.timeZone = TimeZone(secondsFromGMT: -6*60*60)
        var finalDate:Date?
        // original string in GMT
        guard let date = formatter.date(from: gmtTimeString) else {
            print("can't convert time string")
            return finalDate
        }
        finalDate = date
        return finalDate
    }

已解决并且工作正常。