从 dateFromString 到 stringFromDate

From dateFromString to stringFromDate

我有一个字符串格式的日期,格式如下:

"2015-11-15 14:16:15 +0000"

而且我想以本地化格式显示它,甚至计算年龄。 要访问 NSDate,我使用以下代码:

dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss +SSSS"
let birthDate = self.dateFormatter.dateFromString(userProfile["birthdate"] as! String)

然后为了显示日期(以短格式),我更改了 dateFormatter

dateFormatter.dateFormat = "yyyy-MM-dd"
let birthDateShort = self.dateFormatter.stringFromDate(birthDate!)

如果我出于其他原因不需要 NSDate 格式,我当然可以只从初始字符串中提取文本。但这似乎还是一个漫长的往返,这是"correct"方法吗?

完全是正确的做法。而且它不是 "long roundtrip"。字符串只是一个字符串:只是一种表示,一堆供人类阅读的字母/字形。 日期 是重要的日历相关信息。你需要那个日期作为一个中心点来做任何具有日历意义的事情。而这正是你正在做的。提供 NSDateFormatter 正是为了让您可以做您正在做的事情