终端彩色时钟

0 阅读1分钟

微信图片_20251014151033_10_20.jpg 终端彩色时钟:实时显示彩虹渐变时间,支持 12/24 小时制切换,纯标准库,< 30 行!


🌈 彩虹时钟(terminal_clock.py)

import time, os, sys, datetime

def hsv_rgb(h, s, v):
    """HSV → RGB 0-255"""
    c = v * s; x = c * (1 - abs((h * 6) % 2 - 1)); m = v - c
    r, g, b = [(c + m), (x + m), (m)], [(x + m), (c + m), (m)], [(m), (c + m), (x + m)], [(m), (x + m), (c + m)], [(x + m), (m), (c + m)], [(c + m), (m), (x + m))][int(h * 6) % 6]
    return int(r * 255), int(g * 255), int(b * 255)

def rainbow_clock():
    while True:
        now = datetime.datetime.now()
        t12 = now.strftime("%I:%M:%S %p")
        t24 = now.strftime("%H:%M:%S")
        text = t12 if "--12" in sys.argv else t24
        # 彩虹渐变:每个字符色相偏移
        rainbow = "".join(f"\033[38;2;{r};{g};{b}m{c}\033[0m"
                          for i, c in enumerate(text)
                          for r, g, b in [hsv_rgb((i / len(text) + time.time() % 1), 1, 1)])
        os.system('clear||cls')
        print(f"\n{rainbow}\n{'按 Ctrl+C 退出':^20}")
        time.sleep(0.2)

if __name__ == "__main__":
    rainbow_clock()

✅ 运行方式

# 24 小时制
python terminal_clock.py

# 12 小时制
python terminal_clock.py --12

🎨 可玩改装

  1. 改颜色:调 hsv_rgb(h, s, v) 参数
  2. 改形状:加边框、emoji、日期
  3. 改速度time.sleep(0.1) 更快