Перевести количество недель в десятичные дроби в дробные - PullRequest
1 голос
/ 15 декабря 2011

Я борюсь с этим математическим запросом.

У меня есть разница в секундах между двумя датами, и я хотел бы преобразовать количество секунд в дробь. У меня хорошо работает десятичная дробь, но я пытаюсь понять, как я могу преобразовать это значение в дробь.

Так, например, разница в количестве недель между двумя временными метками составляет 4,285714285714286. Я хотел бы представить это как 4 2/7.

Кто-нибудь может предложить наиболее эффективный способ достижения этого в JavaScript?

1 Ответ

1 голос
/ 15 декабря 2011

Может быть, я не понял вашего вопроса, так что это может быть очень наивным ответом.Если да, просто так говорит.

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
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...