Swift DateFormatter - 从 UTC 字符串解析
我正在使用字符串扩展将 utc 字符串解析为日期。但解析的日期是错误的。不知道我错过了什么。
extension String {
var parseUTCDateTime:Date? {
let parser = DateFormatter()
parser.dateFormat = "MM/dd/yyyy HH:mm:ss a"
if let result = parser.date(from: self) {
return result
}
return nil
}
当我执行 "3/7/2022 7:40:17 AM".parseUTCDateTime
时,结果返回 2022-03-06 19:10:17 UTC
。
理想情况下,结果应为 2022-03-06 07:10:17 UTC
,因为字符串中包含 AM。
I'm using a String extension to parse utc string to Date. But the parsed date is wrong. Not sure what i'm missing.
extension String {
var parseUTCDateTime:Date? {
let parser = DateFormatter()
parser.dateFormat = "MM/dd/yyyy HH:mm:ss a"
if let result = parser.date(from: self) {
return result
}
return nil
}
When I do "3/7/2022 7:40:17 AM".parseUTCDateTime
, the result returned 2022-03-06 19:10:17 UTC
.
Ideally the result should be 2022-03-06 07:10:17 UTC
as the string contains AM in it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
格式字符串现在具有类型安全插值,因此您无需再担心
hh
与HH
的问题。Format strings have type-safe interpolation now, so you don't need to worry about the
hh
vsHH
anymore that tripped you up.