2013-01-18 19 views
0

我thinkink如何生成代表日曆中的任務的數據結構(僅供我的私人用途)。我有日期排序的任務記錄從DBMS這樣的:算法 - 如何生成日期結構?

買奶粉(在2013年1月18日)

  • 任務日期(2013年1月15日)
  • 任務標籤(「買牛奶」)
  • 時間框架( 「天」)

任務:洗車(有時在2013年1月)

  • 任務日期(2013年1月5日)
  • 任務標籤( 「洗車」)
  • 時間框架( 「月」)

「時間軸」 值是枚舉值{DAY,WEEK,MONTH,QUARTER,YEAR}並指定任務的時間框架,例如時間範圍「月」指定此任務需要在由任務日期值指定的月份某個時間完成。

我謹代表我的日期結構的任務,例如:

  • 2013(年)
  • I.(季度)
  • 月(月)
  • 洗一輛車
  • 第14.1.-20.1。
  • 2013年1月15日(日)
  • 買牛奶
  • 2013年1月18日(日)
  • 待辦事項somenthing ...

等,這是沒有問題,但是當有記錄問題occures從下一個數據幀,例如2月份的任務。

我已經嘗試了很多方法來完成它,但我最大的問題是選擇正確的數據結構,並找到算法如何填充我的結構中的所有數據幀值以上的具體任務,以及如何不這樣做時,這些數據幀存在。

我希望我解釋清楚。謝謝你的想法。

回答

1

聽起來你可以把它歸結爲標籤和開始+結束時間。而不是與幾天,幾周,幾個月,幾個季度和幾年相提並論,爲什麼不使用日期戳呢?可以使用標準庫將它們轉換爲日期,時間和UNIX時間戳(自1970年1月1日以來的秒數)。還有爲許多語言編寫的日期計算庫(用於例如日期+ 1周)。

編輯或者,您當然也可以保留開始日期和持續時間(可能最簡單的是以秒爲單位)而不是結束日期。每種表述都有其優點和缺點。