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

MOZA PitHouse中如何处理SessionTimeLeft的秒数以实现易读的时间显示格式?

MOZA PitHouse中如何处理SessionTimeLeft的秒数以实现易读的时间显示格式?

兄弟我太懂这种感觉了——完全没碰过编程,却要折腾赛车仪表盘的时间格式,看着一堆干巴巴的秒数真的头大!不过别担心,咱们用几段简单的JavaScript代码就能把SessionTimeLeft的秒数转成时:分:秒或者分:秒这种一目了然的格式,我给你拆解得明明白白,照着抄就行~

第一步:先搞懂咱们要做的事

你现在通过Telemetry.get("v1/gameData/SessionTimeLeft").value拿到的是纯数字的秒数,比如125秒其实是2分05秒,咱们要做的就是把这个数字拆成小时、分钟、剩下的秒,然后拼成好看的格式。

第二步:直接用现成的代码片段(不用懂原理,复制就行)

根据你的赛事会话时长,选一个适合的代码就行:

格式1:分:秒(适合短会话,比如练习赛/冲刺赛)

如果你的赛事时长不超过1小时,用这个就够了,能自动给不足10的秒数补零(比如5秒会显示成00:05,125秒显示成02:05):

const totalSeconds = Telemetry.get("v1/gameData/SessionTimeLeft").value;
const minutes = Math.floor(totalSeconds / 60);
const seconds = Math.floor(totalSeconds % 60);
// 补零处理,确保分钟和秒都是两位数
const formattedTime = `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
formattedTime;

格式2:时:分:秒(适合长会话,比如耐力赛)

如果你的赛事超过1小时,比如3小时的耐力赛,这个格式能完整显示小时数,同样自动补零:

const totalSeconds = Telemetry.get("v1/gameData/SessionTimeLeft").value;
const hours = Math.floor(totalSeconds / 3600);
const remainingSecondsAfterHours = totalSeconds % 3600;
const minutes = Math.floor(remainingSecondsAfterHours / 60);
const seconds = Math.floor(remainingSecondsAfterHours % 60);
// 补零处理,确保所有部分都是两位数
const formattedTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
formattedTime;

第三步:怎么在MOZA PitHouse里用?

打开MOZA PitHouse的JavaScript Text Binding设置,把上面选好的代码直接粘贴进去就行——不用改任何东西(除非你想换格式),软件会自动执行这段代码,把秒数转成你要的时间格式显示出来。

给你补个小解释(怕你好奇)

要是你忍不住想知道这代码为啥能行,我用大白话讲两句:

  • Math.floor():就是把数字往下取整,比如125/60是2.083,取整后就是2分钟
  • %:这个是取余数,125%60就是125减去2*60剩下的5秒
  • padStart(2, '0'):就是如果数字只有1位,前面补个0,比如5秒变成05,看着更整齐

放心,哪怕你完全不懂这些,直接复制代码用就没问题,我身边好多玩模拟赛车的朋友都是这么搞的~

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 13:28:08