NOTE
Image byPheladi Shai from Pixabay
What the hell
30小时制是一种特殊的时间表示方式:
- 0-6点显示为前一天的24-30点
- 日期相应也会显示为前一天
- 这种方式适合熬夜党,让深夜感觉不那么晚
隐约记得这种时间是日本那边一些人在用,太小众了。
KWGT Android
实际上,图中的时间是:01:37 2026-04-22nd
这段KWGT代码可以简单实现30小时制:
如 26:30
$if(df(H)<6,df(H)+24,df(H))$:$df(mm)$
这段代码则是对日期进行处理:
2026-04-22nd
$if(df(H)<6, df(yyyy/MM/dd, df(S)-86400), df(yyyy/MM/dd))$$tc(ord, if(df(H)<6, df(dd, df(S)-86400), df(dd)))$
其中:
$if(df(H)<6, df(yyyy/MM/dd, df(S)-86400), df(yyyy/MM/dd))$是对日期进行处理,使得在24-29点内,日期显示为前一天。$tc(ord, if(df(H)<6, df(dd, df(S)-86400), df(dd)))$是处理st nd rd th后缀,可有可无。
Python Windows
我并没有截取到Windows上的显示效果,在大多数情况下(6-23点),时钟会显示正常的时间。

这个仓库没有提供release。
核心代码:
hour = now.hour + 24 if now.hour < 6 else now.hour
time_str = f"{hour:02d}:{now.minute:02d}:{now.second:02d}"
display_date = now - timedelta(days=1) if now.hour < 6 else now
用PySide6处理显示的部分则不再详述,源码可运行但打包会报路径(引用)错误,可以进一步处理再打包。