我有一个应用程序从时间戳为 UTC 的服务器中提取数据。我的应用程序必须根据当前本地时间在屏幕上显示内容。我遇到的问题如下
如果我这样做
// 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 获取设置一些内容有没有更简单的方法?