我在Swift 4中格式化日期时遇到问题 下面提供了格式化源代码时HH:mm:ss获得错误数据的时间。
let dateFormatter : DateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MMM-yyyy HH:mm:ss a
let date = Date()
let dateString = dateFormatter.string(from: date)
我得到的结果是:2020年8月11日下午12:01:23
如果我正在尝试将字符串日期的结果转换为日期
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MMM-yyyy HH:mm:ss a"
let serverDate: Date = dateFormatter.date(from: dateString)!
我得到的结果是:2020-08-11 06:31:39 +0000
预期必须为:2020-08-11 12:01:23 +0000 但我得到的结果是:2020-08-11 06:31:39 +0000
如果有人知道解决方案,请给我解决方案。
The problem is in your format. If you try with dateFormat =
"dd-MMM-yyyy HH:mm:ss"
, you will get the same results. Also, I recommend you to set locale and timezone. For example:HH:mm:ss
gives you the time in 24 hour format, soa
doesn't make sense inside the format. Or you can usehh:mm:ss a
.Date()
gives you the time inUTC
. You need to provide the timezone information to get the date in your timezone.localDate
will give you the date in your current timezone.