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

如何将24小时制时间转换为mz3d插件的太阳旋转角度值?

解决方案

计算逻辑

  • 先将当前时间转换为带分钟小数的小时值,避免整小时跳变,角度过渡更平滑
  • 按照需求12点对应0度、0/24点对应180度的规则,每小时对应角度变化为 180度 / 12小时 = 15度/小时
  • 计算当前时间与12点的差值的绝对值,乘以15即可得到符合要求的太阳旋转值

完整修改后代码

//variables
var d = new Date();
var hr = d.getHours();
var mn = d.getMinutes();
//conversion
var totalHour = hr + mn / 60;
var sun = Math.abs((totalHour - 12) * 15);
// 可选兜底:如果插件要求角度必须限制在0-180之间,可保留下面一行
sun = Math.min(Math.max(sun, 0), 180);
//mz3d command
mz3d.command('sun pitch', sun, 0);

验证示例

你可以用几个时间点验证计算结果是否符合要求:

  • 00:00 → 总小时0 → |0-12|*15 = 180度 ✅
  • 06:30 → 总小时6.5 → |6.5-12|*15 = 82.5度 ✅
  • 12:00 → 总小时12 → |12-12|*15 = 0度 ✅
  • 18:00 → 总小时18 → |18-12|*15 = 90度 ✅
  • 23:59 → 总小时≈23.98 → |23.98-12|*15≈179.7度 ✅

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:54:04