在Coredata中搜索NSDate无法正常工作 - Swift

时间:2016-01-11 00:10:52

标签: ios swift nsdate

我正在寻找特定NSDate的coredata记录,但它没有返回任何结果。它也不会引起任何错误..

当我遍历所有记录时,我可以将日期输出到控制台。

以下是谓词.. 已创建是NSDate

let resultPredicate = NSPredicate(format: "created == %@", created)

..在挖掘了一些之后,问题似乎是当我处理时间戳的JSON时:

var createdJSON:String = subJson["created"].string!
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = NSTimeZone(abbreviation: "EST")

var dateConverted:NSDate = dateFormatter.dateFromString(createdJSON)!

时间存储在东部时区的MySQL数据库中,也许这是我的错误?即使我可以将JSON响应转换为看似相同的值,也许它从一开始就必须是UTC?

-edit -

转换为UTC无济于事。

1 个答案:

答案 0 :(得分:0)

如果您搜索日期范围,我认为您会有更好的运气,例如

let resultPredicate = NSPredicate(format: "created >= %@ AND created <= %@", startDate, endDate)

其中startDate和endDate是您希望结果介于其间的NSDates。