以日期格式获取当前时间

时间:2018-11-03 10:03:07

标签: swift nsdateformatter

我需要当前时间与服务器时间进行比较。我用这段代码得到了字符串格式的正确时间。

let dateFormatter = DateFormatter()
 dateFormatter.dateFormat = "H:mm"
 let datestring = dateFormatter.string(from: Date())

但是当我再次将字符串转换为日期格式时,它将显示错误的结果。

  

日期字符串

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "H:mm"
let datestring = dateFormatter.string(from: Date())

结果:1​​5:30

  

字符串日期

let dateFormatter1 = DateFormatter()
 dateFormatter1.dateFormat = "H:mm"
 dateFormatter.timeStyle = .short
 dateFormatter.timeZone = TimeZone.current
 let dateFromString: Date? = dateFormatter1.date(from: datestring)

结果:2000-01-01 10:00:00 +0000

1 个答案:

答案 0 :(得分:0)

dateFromString是正确的。请记住,日期始终是使用UTC打印的,而不是您的时区,通常是 。因此,UTC上午10点实际上是您所在时区的3:30 pm。您只为15:30提供时间dateFormatter1。其他日期成分(年,月,日,秒)是DateFormatter实例的默认日期。