快速日期格式

时间:2015-03-06 15:23:21

标签: swift nsdateformatter

我试图从按钮中提取日期字符串,格式是要存储在CoreData中的日期。

这是我的代码:

let dateStr = setDateBTN.titleLabel?.text
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-YYYY"
let date:NSDate = dateFormatter.dateFromString(dateStr!)!

如果我在dateStr上执行println,我会得到以下内容:03-10-2015。然后,如果我立即打印出日期,我会得到:2014-12-21 05:00:00 +0000

当我通过日期格式化程序运行时,有关实际日期为何发生变化的想法吗?

1 个答案:

答案 0 :(得分:8)

NSDateFormatter类参考:http://goo.gl/7fp9gl

日期格式指南(Apple):http://goo.gl/8zRTQl

  

常见的错误是使用YYYY。 yyyy指定日历年,而YYYY指定ISO年度日历中使用的年份(“年度周”)。

您的代码应该像您期望的那样工作:

let dateStr = setDateBTN.titleLabel?.text
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
let date:NSDate = dateFormatter.dateFromString(dateStr!)!