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

Rainmeter日期时间减法失效:连续天数计数器始终显示0

Rainmeter连续天数计数器显示0的问题修复

你的计数器始终显示0,核心是两个错误:

1. 变量引用语法错误

Rainmeter中引用自定义变量必须使用#变量名#的格式,你在Calc公式里写的!StartDateTime是无效的,Rainmeter无法识别这个变量,导致计算时用了空值,结果自然为0。

2. 日期字符串无法直接参与数值计算

Now返回的是Unix时间戳(从1970年1月1日到当前时间的总秒数),但你定义的StartDateTime是字符串格式的日期(2024-02-07T17:30:00),字符串和数值直接相减会触发计算错误,最终返回0。


修正后的完整代码

[Rainmeter]
Update=1000

[Variables]
StartDateTime=2024-02-07T17:30:00

; 新增:将字符串日期转换为Unix时间戳
[MeasureStartTimestamp]
Measure=Time
TimeStamp=#StartDateTime#
TimeStampFormat=%Y-%m-%dT%H:%M:%S
DynamicVariables=1

[MeasureStreak]
Measure=Calc
Formula=Floor((Now - MeasureStartTimestamp) / (24*3600))
DynamicVariables=1

[MeasureHours]
Measure=Calc
Formula=(Floor((Now - MeasureStartTimestamp) / 3600)) % 24
DynamicVariables=1

[MeasureMinutes]
Measure=Calc
Formula=(Floor((Now - MeasureStartTimestamp) / 60)) % 60
DynamicVariables=1

[MeterStreak]
Meter=String
MeasureName=MeasureStreak
Text=Streak: [MeasureStreak] days, [MeasureHours] hours, [MeasureMinutes] minutes
FontFace=Arial
FontSize=12
FontColor=255,255,255,255
SolidColor=0,0,0,150
AntiAlias=1
Padding=5,5,5,5

修正说明

  • 新增MeasureStartTimestamp度量:用Time类型的度量,通过TimeStamp参数传入字符串日期,配合TimeStampFormat指定日期格式,将字符串转换为和Now一致的Unix时间戳。
  • 修正所有Calc公式:把原来的!StartDateTime替换为MeasureStartTimestamp,确保用时间戳数值进行计算,这样就能得到正确的时间差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:07:16