程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 最近的時間間隔-Android鬧鐘 自定義重復周期 怎樣計算當前時間與自定義周期的最近的那一天的時間間隔

最近的時間間隔-Android鬧鐘 自定義重復周期 怎樣計算當前時間與自定義周期的最近的那一天的時間間隔

編輯:編程綜合問答
Android鬧鐘 自定義重復周期 怎樣計算當前時間與自定義周期的最近的那一天的時間間隔
如果重復周期是 “只有一次” 或者 “每天”,算法很好寫,只要計算 當前時間 與 給定時間 的時間差就可以,如果 當前時間 < 給定時間,加上一天就ok!

現在問題是:假設 我 自定義了一個重復周期,設定 每周三,每周五7:30 AM的鬧鈴。
    那麼如果今天是在周三設定的時間之前,那麼要計算與周三的時間差。   
    如果是周三設定的時間之後,周五設定的時間之前,那麼要計算與周五的時間差。     如果是周五設定的時間之後,又要計算與周三的時間差。  
    僅僅重復了兩天,如果重復天數達到四五天,邏輯感覺有點復雜。

    想問問各位大神有沒有好的解決算法。

最佳回答:


周一的鬧鐘=0*24 + 設定時間
周二的鬧鐘=1*24 + 設定時間
......
周日的鬧鐘=6*24 + 設定時間

當前時間= (當天是周幾-1)+當前時間

然後計算減法找到最小正數即可。

特例是要單獨考慮今天是周日的情況。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved