我将日期和时间保留在我的Coredata商店中,需要准确地向用户提供最初输入的时间。问题在于,如果他们在东海岸4:00进入4:00,然后稍后查看西海岸的记录时间,它似乎是1:00,因为iPhone将通用时代转化为当地时代。我需要它显示4:00-可能是4:00(+3H00)。

在进行重组我的核心数据模型之前,我想确保无法从存储的NSDATE对象中得出活跃时间的NstimeZone。在那儿?如果没有,任何建议如何最好地在创建时间捕获NstimeZone?代表GMT的创建时间NstimeZone时间差的NSNUMBER?

谢谢。

有帮助吗?

解决方案

正如您发现的那样,NSDATE代表了一个通用的时间点,不包括特定的时区信息。

我建议不要存储偏移,而是存储nstimezone的 name 财产。那你可以使用 +[NSTimeZone timeZoneWithName:] 要获得时区,然后将其转换为当地时间。这为您提供了向用户显示信息的最大灵活性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top