【问题标题】:date from a String To Date() Conversion (Date is not correct after conversion) swift [duplicate]从字符串到日期()转换的日期(转换后日期不正确)swift [重复]
【发布时间】:2018-06-07 13:07:42
【问题描述】:

我正在使用以下代码将字符串转换为日期

    let strTime = "2015-07-27 19:29"
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd HH:mm"
    var date = formatter.date(from: strTime)

但它的输出如下

我们可以看到日期中的时间不正确 (13:59),因为我们在字符串 (19:29) 上给出了时间

【问题讨论】:

  • 你住在哪里?在哪个时区?例如,在法国使用您当前的代码,我得到“2015-07-27 17:29:00 +0000”。但那是因为我们在夏天,与 UTC 有 2 小时的差异。
  • 好像是时区的问题……

标签: ios iphone swift


【解决方案1】:

将 TimeZone 添加到您的格式化程序:

let strTime          = "2015-07-27 19:29"
let formatter        = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm"
formatter.timeZone   = TimeZone(abbreviation: "UTC") // Whatever your timeZone is
var date             = formatter.date(from: strTime)
print(date)

【讨论】:

  • 仅当您想将 strTime 视为在 UTC 时区时才执行此操作。这可能合适,也可能不合适。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多