gpt4 book ai didi

objective-c - CoreData中的NSDate是否封装了时区?

转载 作者:可可西里 更新时间:2023-11-01 04:28:16 25 4
gpt4 key购买 nike

我将日期和时间保存在我的 CoreData 存储中,并且需要向用户准确呈现最初输入的时间。问题是,如果他们在东海岸输入 4:00,然后查看西海岸记录的时间,显示为 1:00,因为 iPhone 将世界时间转换为本地时间。我需要它显示 4:00——可能是 4:00 (+3h00)。

在我去重构我的 Core Data 模型之前,我想确定没有办法从存储的 NSDate 对象派生出在创建时处于事件状态的 NSTimeZone。在那儿?如果没有,有什么建议如何最好地自己在创建时捕获 NSTimeZone?表示创建时间 NSTimeZone 与 GMT 时差的 NSNumber?

谢谢。

最佳答案

如您所见,NSDate 代表一个通用时间点,不包含特定时区信息。

我建议不要存储偏移量,而是存储 NSTimeZone 的 name 属性。然后您可以使用 +[NSTimeZone timeZoneWithName:] 获取时区,然后将其转换为本地时间。这为您在向用户显示信息的方式方面提供了最大的灵 active 。

关于objective-c - CoreData中的NSDate是否封装了时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com