FF14 的 ET计算公式,时间粒子取自官网源码。
<!DOCTYPE html>
<html>
<body>
<script>
function getEorzeaTime() {
const E_TIME = 20.5714285714; // 时间粒子, 取自官网
const NOW_TIME = new Date().getTime(); // 取当前时间
// (时间粒子 x 当前时间) 的结果 向下取整
// 取后的值大约3秒一变
const FLOOR_TIME = new Date().setTime(Math.floor(NOW_TIME * E_TIME));
const eorzeaTime = new Date(new Date().setTime(FLOOR_TIME)); // 艾欧泽亚的时间对象
let hh = eorzeaTime.getUTCHours(); // 时
let mm = eorzeaTime.getUTCMinutes(); // 分
// 时间格式化
hh = hh < 10 ? '0' + hh : hh;
mm = mm < 10 ? '0' + mm : mm;
return hh + ':' + mm; // 22:58
};
// 使用栗子
setInterval(function() {
let ET = getEorzeaTime();
console.log(ET);
}, 1000);
</script>
</body>
</html>