ios – 在Swift中将日期从GMT 1转换为UTC时出现混乱

ios – 在Swift中将日期从GMT 1转换为UTC时出现混乱,第1张

概述当您尝试将“2016-06-23 12:00:00”转换为UTC日期时,我会收到“2016-06-23 10:00:00” 第一个日期是GMT 1,我想转换为UTC.如果我没弄错GMT 0 == UTC所以12:00应该是11:00对吗?但我总是得到10点.为什么会这样,我该如何正确转换它? 我在 *** 场上和实际设备上都试过这个 这是我使用的代码: class ViewController: UIVi 当您尝试将“2016-06-23 12:00:00”转换为UTC日期时,我会收到“2016-06-23 10:00:00”

第一个日期是GMT 1,我想转换为UTC.如果我没弄错GMT 0 == UTC所以12:00应该是11:00对吗?但我总是得到10点.为什么会这样,我该如何正确转换它?

我在 *** 场上和实际设备上都试过这个

这是我使用的代码:

class VIEwController: UIVIEwController {overrIDe func vIEwDIDLoad() {    super.vIEwDIDLoad()    // Do any additional setup after loading the vIEw,typically from a nib.    let datestring:String = "2016-06-23 12:00:00"    print("1: "+datestring)    print("2: "+convertDatetoUTC(datestring))}overrIDe func dIDReceiveMemoryWarning() {    super.dIDReceiveMemoryWarning()    // dispose of any resources that can be recreated.}func convertDatetoUTC(_ datestring:String) -> String {    let dateForm = DateFormatter()    dateForm.dateFormat = "yyyy-MM-dd HH:mm:ss"    dateForm.timeZone = TimeZone(abbreviation: "GMT+1")    print(TimeZone.current.abbreviation()!)    let date = dateForm.date(from: datestring)    dateForm.timeZone = TimeZone(abbreviation: "UTC")    let date1 = dateForm.string(from: date!)    return date1}}

输出:

1: 2016-06-23 12:00:00GMT+12: 2016-06-23 10:00:00
解决方法 简答:将“GMT 1”替换为“GMT 01”.

“GMT 1”不是有效的时区缩写:

let tz = TimeZone(abbreviation: "GMT+1") print(tz) // nil

因此,在

dateForm.timeZone = TimeZone(abbreviation: "GMT+1")

你将dateForm.timeZone设置为nil,这意味着日期
string在您的默认(本地)时区中解释.

dateForm.timeZone = TimeZone(abbreviation: "GMT+01")

你会得到预期的结果.或者,创建时区
从(数字)GMT偏移量或其标识符:

dateForm.timeZone = TimeZone(secondsFromGMT: 3600)dateForm.timeZone = TimeZone(IDentifIEr: "GMT+0100")

附录(回应您的意见):

TimeZone(IDentifIEr: "GMT+0100") TimeZone(IDentifIEr: "Europe/Berlin")

是不同的时区.第一个使用固定的GMT偏移量为1小时,第二个是区域中的时区(在本例中为德国),并且与UTC相差一到两个小时,具体取决于是否夏令时在指定日期有效.

总结

以上是内存溢出为你收集整理的ios – 在Swift中将日期从GMT 1转换为UTC时出现混乱全部内容,希望文章能够帮你解决ios – 在Swift中将日期从GMT 1转换为UTC时出现混乱所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1209516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存