通过添加/减去本地偏移量计算日期时间 [将任何日期时间转换为 UTC 时间格式]
Calculate date time by adding / subtracting local offset [ Convert any date time , to UTC time format]
我要登机了:
- 服务中的预定日期和预定时间以及航班本地偏移值
现在需要找出我的日期时间(本地时区)和日期时间(来自服务)之间的差异。
问题:我的本地日期时间与航班预定日期和时间之间的差异 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
}
已解决并且工作正常。
我要登机了:
- 服务中的预定日期和预定时间以及航班本地偏移值
现在需要找出我的日期时间(本地时区)和日期时间(来自服务)之间的差异。
问题:我的本地日期时间与航班预定日期和时间之间的差异 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
}
已解决并且工作正常。