「已注销」 2015-02-01 14:24 采纳率: 100%
浏览 5842
已采纳

Android闹钟 自定义重复周期 怎样计算当前时间与自定义周期的最近的那一天的时间间隔

如果重复周期是 “只有一次” 或者 “每天”,算法很好写,只要计算 当前时间 与 给定时间 的时间差就可以,如果 当前时间 < 给定时间,加上一天就ok!

现在问题是:假设 我 自定义了一个重复周期,设定 每周三,每周五7:30 AM的闹铃。
    那么如果今天是在周三设定的时间之前,那么要计算与周三的时间差。   
    如果是周三设定的时间之后,周五设定的时间之前,那么要计算与周五的时间差。     如果是周五设定的时间之后,又要计算与周三的时间差。  
    仅仅重复了两天,如果重复天数达到四五天,逻辑感觉有点复杂。

    想问问各位大神有没有好的解决算法。
  • 写回答

2条回答 默认 最新

  • colourrain 2015-02-01 14:43
    关注

    周一的闹钟=0*24 + 设定时间
    周二的闹钟=1*24 + 设定时间
    ......
    周日的闹钟=6*24 + 设定时间

    当前时间= (当天是周几-1)+当前时间

    然后计算减法找到最小正数即可。

    特例是要单独考虑今天是周日的情况。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?