我想知道是否有人使用按日期排序的NSPredicate
篩選集合,其中日期是NSString
的MMMM dd
(即3月24日)格式(它不是NSDate)。將日期字符串與NSPredicate進行比較
0
A
回答
4
如果您將日期存儲爲CoreData中的字符串,則謂詞很簡單。
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"theDate like %@", theDateString];
但我猜測日期被存儲爲一個NSDate對象。看看使用NSDateFormatter將您的字符串轉換爲NSDate。
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMMM dd"];
NSDate* theDate = [df dateFromString:theDateString];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SomeDate >= %@", theDate];
1
您需要首先將其轉換爲NSDate,您可以使用NSPredicate的predicateWithBlock函數實現該轉換。轉換對象並在謂詞塊中對其進行測試。我從來沒有親自使用它,所以這個答案是理論上的。
0
比較NSArray中的NSDate或日期和Swift中的NSPredicate。
在SWIFT 2.1或2.0:
//format data
let Formata_Data = NSDateFormatter()
Formata_Data.calendar = NSCalendar.currentCalendar()
Formata_Data.dateFormat = "dd/MM/yyyy"
let _data_filtro = Formata_Data.stringFromDate(dias_filtros!)
let _data_hoje = Formata_Data.stringFromDate(NSDate())
let data_filtro_ns = Formata_Data.dateFromString(_data_filtro)
print("DATA.... \(_data_filtro)")
var predicate_Data = NSPredicate(block: { (data_string, Orcs) -> Bool in
return data_filtro_ns?.earlierDate(Formata_Data.dateFromString(data_string) as! String)!) == data_filtro_ns
})
var array_filtro_dias = Orcamentos.filteredArrayUsingPredicate(predicate_Data)
Orcamentos = array_filtro_dias
相關問題
- 1. 如何將字符串與日曆日期進行比較?
- 2. 如何將日期與JavaScript中的字符串進行比較?
- 3. 如何將日期字符串與當前日期進行比較?
- 4. 將char與字符串進行比較
- 5. 將Arraylist與字符串進行比較
- 6. 字符串與日期字段比較
- 7. 提取字符串並與日期進行比較
- 8. Java:可以將日期作爲字符串進行比較
- 9. 將字符串與數組中的字符串進行比較
- 10. 將字符串網址與字符串值進行比較
- 11. 將字符串與其他字符串進行排序比較
- 12. 將數組字符串與字符串進行比較
- 13. NSPredicate在CoreData比較日期
- 14. 如何將字符串與find子句中的日期進行比較?
- 15. 使用javascript,將日期字符串與夏令時進行比較
- 16. 將字符串的字符與字典進行比較python
- 17. 與Extjs進行字符串比較
- 18. 與其他字符串進行比較
- 19. Python - 將字符串與Unicode替換字符進行比較
- 20. 將字符串與字符列表進行比較
- 21. 將字符串與非英文字符進行比較?
- 22. 將當前日期與存儲的日期進行比較
- 23. 將sql表中的日期與當前日期進行比較
- 24. 將日期與當前日期進行比較
- 25. Codeigniter:將MySql日期時間與當前日期進行比較
- 26. 將sql日期與php日期進行比較
- 27. Oracle SQL - 將日期與日期範圍進行比較
- 28. iPhone - 將字符串與德語變音符號進行比較
- 29. 使用Linq查詢將日期與DateTime字段進行比較
- 30. 將數據字段與當前日期進行比較 - Oracle
它存儲爲字符串。你擁有的謂詞不會對它進行排序,它只會發現類似的匹配。我無權訪問該字符串,因爲我將謂詞設置爲核心數據獲取請求。 – Snowman 2012-03-25 23:58:00
據我所知,在謂詞本身中沒有辦法做到這一點。我猜你必須執行提取請求,然後根據日期字符串手動排序結果。 – tronbabylove 2012-03-26 00:09:59