将十进制的周数转换为分数

Convert number of weeks in decimal to fraction

本文关键字:转换 周数 十进制      更新时间:2023-09-26

我对这个基于数学的查询很困惑。

我有两个日期之间的秒差,并希望将秒数转换为分数。我的十进制工作得很好,但我正在努力弄清楚如何将此值转换为分数。

例如,两个时间戳之间的周差数为4.285714285714286。我想把它表示为4 2/7

谁能建议在JavaScript中实现这一点的最有效的方法?

也许我没有理解你的问题,所以这可能是一个非常天真的回答。如果是,就这么说。

var
  a = new Date(2011, 12, 31),
  b = new Date(2011, 12, 1),
  weekMilliSeconds = 7 * 24 * 60 * 60 * 1000,
  fraction = (a - b)  / weekMilliSeconds,
  weeks = Math.floor(fraction),
  days = Math.round((fraction - weeks) * 7);
console.log(
  weeks + ' ' + days + '/7'  // => 4 2/7
);