Swift 日期格式

Swift date formatting

我正在尝试从按钮中提取日期字符串,格式是要存储在 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。然后,如果我立即 println date 我得到: 2014-12-21 05:00:00 +0000.

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

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

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

A common mistake is to use YYYY. yyyy specifies the calendar year whereas YYYY specifies the year (of “Week of Year”), used in the ISO year-week calendar.

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

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