代码之家  ›  专栏  ›  技术社区  ›  Ryan

以文本方式报告长时间运行过程的剩余时间的正确方法?

  •  3
  • Ryan  · 技术社区  · 16 年前

    因此,您有一个长时间运行的进程,可能带有一个进度条,您需要对剩余时间的文本估计,例如:“剩余5分钟”、“剩余30秒”等。

    如果您实际上不想报告时钟时间(由于准确性、分辨率或更新率问题),但想坚持文本摘要,那么正确的范例是什么?

    是否在0到60秒内显示“1分钟”?还是从1:00到1:59? 假设还剩1:35,是“还剩2分钟”还是“还剩1分钟”?

    当你不到3分钟的时候,你会把它缩减到“还剩几分钟”吗?

    什么是首选(用户最不沮丧的)方法?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Marcus Adams    16 年前

    这有点主观。不过,我会一直等到你降到30秒。

    01:02:05 = "1 hour 2 minutes remaining"
    00:02:35 = "3 minutes remaining"
    00:02:29 = "2 minutes remaining"
    00:01:35 = "2 minutes remaining"
    00:01:05 = "1 minute remaining"
    00:01:00 = "1 minute remaining"
    00:00:59 = "Less than 1 minute remaining"
    // Switch to seconds at :30
    00:00:30 = "30 seconds remaining"
    00:00:29 = "29 seconds remaining"
    

    避免使用快捷方式“分钟”。花额外的时间输出“分钟”一分钟,“分钟”更大的时间。

        2
  •  1
  •   Mark Ransom    16 年前

    四舍五入。0:30至1:29为“还剩一分钟”,1:30至2:29为“还剩两分钟”。

    我不能说我以前见过这个,但我觉得这有点道理。

        3
  •  0
  •   Gareth    16 年前

    我想这里的关键是你期望你的计算有多精确。如果你甚至不能确定最后的60秒是60秒,那么你就必须有点模糊…

    推荐文章