我有一個應用程序,從時間戳爲UTC的服務器拉數據。我的應用必須根據當前的當地時間在屏幕上顯示內容。我遇到的問題是以下搜索核心數據的NSDate問題
如果我這樣做
// the Y M D is fine but time is -8 behind so showing 03:34 instead of 11:34.
NSDate *today = [[NSDate alloc] init];
所以,當我做到這一點
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(start <= %@) AND (room == %@) AND (end >= %@)", today, room, today];
當插入NSPredicate我沒有得到正確的結果在今天是「2012-08-10 03:34:00」,但應該是「2012-08-10 11:34:00」
我不能只添加8小時的時間,因爲該應用程序可能用於不同的時區。唯一的想法是我得到的是設備時區計算它在UTC後面多少小時使用NSDateComponents加/減這些小時。有沒有更簡單的方法,只需在CoreData中設置NSPredicate提取的內容?
..我想我有事情想通了,但在過去的三天裏,我的頭靠在牆上,因爲試圖與[NSDate date]一起爭吵已經產生了結果,這讓我覺得我正在對整個事情做錯了。你能否指點我一些以UTC存儲日期的方法(特別是[NSDate date]!),然後檢索並在當地時區顯示它們? – SAHM 2013-03-17 21:41:54