iOS Swift 3:转换“yyyy-MM-dd'T'HH:mm:ssZ”格式化字符串到日期对象 [英] iOS Swift 3 : Convert "yyyy-MM-dd'T'HH:mm:ssZ" format string to date object

查看:1405
本文介绍了iOS Swift 3:转换“yyyy-MM-dd'T'HH:mm:ssZ”格式化字符串到日期对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我有一本词典

self.publishedAt = dictionary["publishedAt"] as? NSString

我得到的日期 2017-01-27T18:36:36Z 。我想以
可读格式转换它: dd-MM-yyyy hh:mm:ss 。我试过通过

in which i'm getting date "2017-01-27T18:36:36Z". I want to convert it in readable format : dd-MM-yyyy hh:mm:ss. i tried via

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy hh:mm:ss"
let date = dateFormatter.date(from: (self.publishedAt as? String)!)
print("EXACT_DATE : \(date)") 

但是收到零。 :(

以简单格式获取日期的正确方法是什么?

What is the correct way to get date in simple format?

推荐答案

您需要输入格式将ISO8601字符串转换为日期,输出格式将日期转换回字符串:

You need an input format to convert the ISO8601 string to date and an output format to convert the date back to string:

let string = "2017-01-27T18:36:36Z"

let dateFormatter = DateFormatter()
let tempLocale = dateFormatter.locale // save locale temporarily
dateFormatter.locale = Locale(identifier: "en_US_POSIX") // set locale to reliable US_POSIX
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormatter.date(from: string)!
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
dateFormatter.locale = tempLocale // reset the locale
let dateString = dateFormatter.string(from: date)
print("EXACT_DATE : \(dateString)")

这篇关于iOS Swift 3:转换“yyyy-MM-dd'T'HH:mm:ssZ”格式化字符串到日期对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆