我正在尝试对日期进行简单比较,以便根据当天移动到另一个数组索引。
虽然比我使用的代码效率高得多,但以下(Unable to parse a date)不保留时区偏移量:
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小时的数据最终会与前一天的数据结束。
我在哪里弄乱?
由于