タイトルの言い回しに苦労しましたが、基本的には 2 つの日付を指定できる関数が必要で、結果が 15 日なら「2w」、13 か月なら「1y」、13 か月なら「1m」のように出力されます。 4、5週間でした。できれば 1 時間単位で…でも、最低でも 1 日です。
同様の SO の質問を見つけましたが、それは PHP 用であり、とにかく完全ではありません: How to calculate the difference between two days as aformatted string?
タイトルの言い回しに苦労しましたが、基本的には 2 つの日付を指定できる関数が必要で、結果が 15 日なら「2w」、13 か月なら「1y」、13 か月なら「1m」のように出力されます。 4、5週間でした。できれば 1 時間単位で…でも、最低でも 1 日です。
同様の SO の質問を見つけましたが、それは PHP 用であり、とにかく完全ではありません: How to calculate the difference between two days as aformatted string?
必要なすべてのことを実行できる JavaScript 日付ライブラリが多数あります。XDateを使用した例を次に示します。
<div id="result"><div/>
var now = new XDate();
var then = new XDate(2013, 04, 01, 0, 0, 0, 0);
document.getElementById("result").textContent = now.diffWeeks(then).toFixed(1) + " Weeks";
利用可能なjsfiddle
<div id="result"><div/>
var then = moment("Dec 25, 1995");
document.getElementById("result").textContent = moment(then, "YYYYMMDD").fromNow();
jsfiddleでも利用可能