日期比较或时区设置不正确(Date comparison or timezone not set p

2019-10-20 18:52发布

我试图做的日期与移动根据当天的另一个数组索引的意图进行简单的比较。

虽然远远大于我所用的代码更有效,下面( 无法解析的日期 )不保留区偏移:

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小时的价值的数据与前一天的数据结束了。

我在哪里搞乱?

谢谢

文章来源: Date comparison or timezone not set properly