算法 - 如何生成日期结构?

时间:2013-01-18 14:25:10

标签: algorithm data-structures

我认为如何生成代表我日历中任务的数据结构(仅限我的私人用途)。我有来自DBMS的日期排序任务记录,如下所示:

购买牛奶(2013年1月18日)

  • 任务日期(2013-01-15)
  • 任务标签(“购买牛奶”)
  • 时间范围(“日”)

任务:洗车(2013年1月某个时候)

  • 任务日期(2013-01-05)
  • 任务标签(“洗车”)
  • 时间范围(“月”)

“time frame”值是枚举值{DAY,WEEK,MONTH,QUARTER,YEAR}并指定任务的时间范围,例如时间范围“月”指定此任务需要在任务日期值指定的月份的某个时间完成。

我想在日期结构中表示我的任务,例如:

  • 2013(年)
  • 予。 (四分之一)
  • 1月(月)
  • 洗车
  • 第14.1.-20.1周。
  • 15.1.2013(day)
  • 买牛奶
  • 18.1.2013(day)
  • 做somenthing ...

等。这不是问题,但是当存在来自下一个数据帧的记录时出现问题,例如,从二月开始的任务。

我已经尝试了很多方法如何实现它但我最大的问题是选择正确的数据结构并找到算法如何填充我的结构所有数据帧值以上具体任务以及如何在这些数据时不执行此操作框架存在。

我希望我能清楚地解释清楚。谢谢你的想法。

1 个答案:

答案 0 :(得分:1)

听起来你可以把它归结为标签和开始+结束时间。而不是几天,几周,几个月,几个季度和几年,你为什么不只使用日期戳?可以使用标准库将它们转换为日期,时间和UNIX时间戳(自1970年1月1日以来的秒数)。还有为许多语言编写的日期计算库(例如日期+ 1周)。

编辑:或者,您当然也可以保留开始日期和持续时间(可能最简单的是以秒为单位)而不是结束日期。每个代表都有自己的优点和缺点。