date比较或时区未正确设置
我试图做一个简单的比较date的意图移动到另一个数组索引的基础上的一天。
尽pipe比我使用的代码更高效,但以下( 无法parsingdate )不会保留时区偏移:
let noaaDate = "2014-08-22T15:00:00-04:00" let format="yyyy-MM-dd'T'HH:mm:ssZ" var dateFmt = NSDateFormatter() dateFmt.dateFormat = format let newreadableDate = dateFmt.dateFromString(noaaDate) println(newreadableDate)
输出:
Optional(2014-08-22 19:00:00 +0000)
当我添加以下内容:
dateFmt.timeZone = NSTimeZone.localTimeZone() // I've even tried defaultTimeZone
输出是一样的。 哪里这似乎成为一个问题是以后我做了以下事情:
// FYI: parseNOAADateTime is that code above var earliestTimeNS = parseNOAADateTime(earliestTime!) let calendar = NSCalendar.currentCalendar() let components = calendar.components(.CalendarUnitDay, fromDate: earliestTimeNS) let dayZero = components.day // stuff, like starting a loop let tempDateTimeString = "2014-08-31T01:00:00-04:00" let thisDateTime = parseNOAADateTime(tempDateTimeString!) let tempDateTimeComponents = calendar.components(.CalendarUnitDay, fromDate: thisDateTime) let forecastIndex = tempDateTimeComponents.day - dayZero
现在,forecastIndex应该是6,因为tempDateTimeComponents.day应该是31.但是,他们分别是5和30,这意味着4小时的数据价值是以前一天的数据结束的。
我在哪里搞乱?
谢谢