我需要使用Core Data保存日期,当用户选择应用的某个部分时,日期会以其本地化格式显示(例如 中文或法文)。
如果我这样做[NSDate date]
,如果我没弄错,请给我GMT的约会时间。
如果我要保存到Core Data,我是这样设置的吗?
[objectToSave setValue:[NSDate date] forKey:@"date"];
或者我必须使用区域设置进行设置吗?我该怎么做?
或者我只是按照上面那样设置日期,然后在从Core Data检索后重新制作模型对象时格式化语言环境?
答案 0 :(得分:0)
这就是NSDate
的全部目的。它为您提供了一个通用日期值,然后可以在您想要的任何语言环境中进行解释。
真的,除非有非常好的理由,否则你应该总是以这种方式存储日期。
您只需在呈现数据时进行本地化,通常在屏幕上显示。您可以通过获取用户的当前本地来实现此目的。
这样,如果我们两个人都使用相同的数据,我可以用希伯来语看到它,你可以用法语看到它,我们的时区可以是耶路撒冷和巴黎。
我们会看到完全相同的时间,但是使用我们自己的语言环境格式和本地时区,而不是自己进行任何数据转换。