objective-c - 将会计期间转换为日历期间的算法

标签 objective-c ios algorithm date datetime

我想做什么

我有点拼命地尝试构建一种算法,将不同公司的财务数据从会计期间转换为日历期间

问题

财政周期通常与日历周期不对应,例如一家公司可能会报告 2011 财年的收入为 100 美元,但其财年并非在 2011 年 12 月底结束,而是在 2011 年 9 月结束。例如,Apple财政年度于 9 月底结束。 Dell's财政年度结束于 1 月底和 Intel的财政年度结束于 12 月底。对于 Apple 和 Dell,所有财政季度和财政半年的结束时间也都发生了变化。

为了比较这些公司的收入或其他财务指标,我需要能够将每个会计期间转换为等效的日历期间。例如,有人可能会问,每家公司在 2011 日历年产生了多少收入。

就 Apple Corp. 而言,我们需要剔除 2010 年日历期间产生的收入,这相当于 Apple 2010 财年第四季度,并加上 2012 财年第一季度(截至 2011 年 12 月) .

我有什么(数据模型)

我的数据模型对每个实体 calendarPeriodfiscalPeriod 都有以下属性:

endYear(期间结束的年份)
endMonth(月号 1..12 期间结束的最后一天)
length(期间的月数 1..12)

我需要什么(迫切地)

我能完成此任务的最有效、最短的算法是什么?

如果该算法能够处理像戴尔这样的“特殊情况”,那就太好了,在这种情况下,戴尔需要占用其第一财季的 1/3,该财季将于次年 1 月结束非常糟糕并将其添加到上一年的最后一个季度。此外,该算法应足够灵活以处理所有期间长度和 endMonths,并在必要时尝试组合期间(例如,对于 2012 年上半年,它应尝试找到 2012 年 6 月结束的六个月期间或连续添加两个期间(一个结束于 2012 年 3 月,一个结束于 2012 年 6 月,或者取一个结束于 2012 年 6 月的财政年度并减去属于 2011 日历年的季度或半年)。

非常感谢。

最佳答案

这与其说是技术问题,不如说是财务问题。

如果您只有年终结果,除非它们是针对同一财政期间的,否则您没有实际的方法可以进行比较。

此外,如果您以某种方式设法获得月度结果并做一些杂耍来准备可比较的结果,它们将无法比较,因为通常在年终财务结果而不是月度结果中进行许多会计调整和准备金你会在这里错过的。

我建议您应该尝试比较那些产生更有意义结果的结果。

关于objective-c - 将会计期间转换为日历期间的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819181/

相关文章:

objective-c - Xcode 在 prepareToPlay 上停止

iphone - iOS 应用程序中的气泡图

ios - 两个单独的 cookie 存储(UIWebView 或 WKWebView)

string - 迭代发现定义向量条件的 bool 规则的算法

objective-c - Objective-C 中的矩阵

iOS UITableView 部分中的行数对同一部分使用不同的数组

c++ - 这种模式有什么优雅的解决方案?多级搜索

algorithm - lucene bool 搜索

IOS)图片扩展无法保存更改问题

android - 如何使用本地主机(而不是实时服务器)运行 meteor iOS 应用程序?