时间字段和计算 - 最佳实践

时间:2011-06-26 12:57:06

标签: ios datetime core-data time

我打算在iPhone应用程序中保存和操作时间信息。令人惊讶的是,我发现在关于iOS最佳实践的搜索中几乎没有讨论。 我的目标是轻松: - 从开始,结束,休息字段计算持续时间。 - 用户可选择的默认增量(15分钟,30分钟等)的条目。 -sum,avg并根据需要绘制结果图

我的问题是,保存时间数据的最佳方法是什么?我是否将完整日期保存为NSDate?我只解析时间部分吗? CFAbsoluteDate或CFInterval类型是更好的方法吗?这些对我来说很陌生,但在Apple参考文档中的搜索似乎总是在那里。不幸的是,我没有看到引用的示例数据库。

我可以设想我打算做的大部分内容,但希望在我以某种方式提交模型之前提供一些指示。

2 个答案:

答案 0 :(得分:1)

除非您极受内存限制,否则建议使用NSDate。它具有原生时差功能,可以使计算时间间隔简单如下:

NSDate *savedDate = [self getDateSavedFromEarlier]; // retrieve saved date
NSDate *anotherDate = [self getAnotherDateSavedFromEarlier]; // retrieve another saved date
NSTimeInterval interval = [savedDate timeIntervalSinceDate:anotherDate];

答案 1 :(得分:0)

在不了解您的应用程序的情况下 - 我认为您应该首先存储NSDate s。

你正在以大的增量进行四舍五入,所以你似乎不太可能在数量上产生/存储日期,这会使它产生太大的差异。

最佳做法是不要使事情复杂化,也不要在分析应用程序之前进行优化。