【发布时间】:2018-11-08 06:09:28
【问题描述】:
我在转换来自服务器的日期字符串时遇到问题。下面是我的代码
let dateString = "2017–04–02T13:10:00.000" //Date coming from server
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss.SSS"
let date = dateFormatter.date(from: dateString)
print("date is :\(String(describing: date))")
但是日志是
date is :nil
*更新为 24 小时制
以下是 24 小时制(HH)的更新
let dateString = "2017–04–02T13:10:00.000"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
let date = dateFormatter.date(from: dateString)
还是一样的结果
我已经尝试过这些链接
但没有成功。
请让我知道我在上面的代码中做错了什么。
【问题讨论】:
-
24 小时日期格式是 HH,而不是 hh ...
-
@MartinR 谢谢马丁,我已经尝试过 24 小时制。请查看更新后的问题。
-
服务器字符串包含“EN-DASH” (U+2013) 作为分隔符,而不是普通的连字符(减号)。
-
@MartinR 谢谢。你拯救了我接下来的几个小时。
-
@Gagan_iOS 请注意,您还有时区问题。有关该问题的信息,请参阅更新的答案。
标签: swift date timezone nsdate nsdateformatter