从 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 正是为了让您可以做您正在做的事情。
我有一个字符串格式的日期,格式如下:
"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 正是为了让您可以做您正在做的事情。