快速日期格式

bnj*_*ers 5 nsdateformatter swift

我正在尝试从按钮中提取日期字符串,格式是作为CoreData中存储的日期.

这是我的代码:

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

如果我在dateStr上做println,我得到以下内容:03-10-2015.然后如果我立刻打印出来,我会得到:2014-12-21 05:00:00 +0000.

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

lch*_*amp 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!)!
Run Code Online (Sandbox Code Playgroud)