You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.8实现带毫秒的单行动态数字时钟方法咨询

实现单行实时更新的数字时钟(含毫秒)

刚好我之前折腾过类似的需求,给你调整下代码就能实现你要的实时跳动效果。原来的代码只打印一次当前时间,要做成数字手表那样的动态显示,我们需要循环更新并覆盖单行内容,具体思路和代码如下:

关键实现要点

  • 用无限循环持续获取最新时间
  • 格式化时间时包含时:分:秒.毫秒的格式,满足你要的数字时钟精度
  • 利用print函数的end='\r'参数让光标回到行首,实现单行覆盖更新
  • 加上flush=True确保输出立刻刷新,避免延迟
  • 用time.sleep()控制更新频率,保证毫秒级的流畅显示

完整代码

import time

try:
    while True:
        # 获取带毫秒的时间戳
        current_time = time.time()
        # 拼接出 "时:分:秒.毫秒" 的格式(毫秒保留三位)
        formatted_time = time.strftime("%H:%M:%S", time.localtime(current_time)) + f".{int((current_time % 1) * 1000):03d}"
        # 打印并覆盖单行内容,强制刷新输出
        print(f"Local current time: {formatted_time}", end='\r', flush=True)
        # 每10毫秒更新一次,保证毫秒显示流畅
        time.sleep(0.01)
except KeyboardInterrupt:
    # 捕获Ctrl+C退出,打印换行避免光标留在行中间
    print("\nClock stopped.")

代码说明

  • time.time()返回的是带小数的时间戳,小数部分就是毫秒级的数值,我们把它转成三位整数来显示毫秒
  • time.strftime("%H:%M:%S")用来格式化出小时、分钟、秒的标准部分
  • end='\r'是实现单行覆盖的核心,它会让打印完内容后光标回到当前行开头,下一次打印就会直接覆盖之前的内容
  • 加上try-except块是为了让你可以用Ctrl+C优雅停止程序,不会弹出报错信息

运行后你就能看到单行里的秒和毫秒实时跳动,完全符合数字手表的动态效果~

内容的提问来源于stack exchange,提问作者Stifler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:27:52