gpt4 book ai didi

ios - 在 Core Data 中存储时间间隔的正确方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:02 24 4
gpt4 key购买 nike

我需要在应用程序的数据库中存储一个时间间隔,该时间间隔将偶尔添加到 NSDate。问题是,我不知道为它选择什么数据类型。有人建议存储NSTimeInterval,但是当用户的时区改变时会导致计算错误吗?也许存储 NSDateComponents(作为“可转换”数据类型)会更好,或者有其他更好的方法吗?

最佳答案

一分钟是60秒,一小时是3600秒,不管怎样当前日期、时区或日历。如果要存储持续时间“24 小时”,则可以将其存储为值为 24*3600 的时间间隔。

所有以天开始的较大单位必须根据当前日期、时区和日历。持续时间“一天”可以是在实行夏令时的地区为 23、24 或 25 小时。特别是,“24 小时”和“1 天”具有不同的含义。持续时间“1 个月”在公历中可以是 28 到 31 天日历,“1 年”可以是 365 天或 366 天。其他日历可能有其他“特点”。

因此必须存储所有涉及“天”或更大单位的持续时间作为日期组件。转换为 NSDateComponents 是一种可能性,或者,您可以添加多个属性“durationDays”,“durationMonths”等到您的核心数据实体。这有好处可以在获取请求或排序中引用这些值描述符。

关于ios - 在 Core Data 中存储时间间隔的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38294891/

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