2つの瞬間の間の時間間隔を計算し、それを{...年...月...日...時間...分}の形式で表示する必要があります。私は次のコードを使用します:
var start = moment("2016-05-04 13:00:00");
var end = moment("2018-05-04 13:00:00");
var diff = moment(end).diff(start);
var duration = moment.duration(diff);
var years = duration.years();
var months = duration.months();
var days = duration.days();
var hours = duration.hours();
var minutes = duration.minutes();
console.log(years + " years " +
months + " months " +
days + " days " +
hours + " hours " +
minutes + " minutes ");
<script src="https://momentjs.com/downloads/moment.js"></script>
「2年0ヶ月0日0時間0分」という結果を期待していますが、「1年11ヶ月29日0時間0分」です。何が問題なのか教えてください。
多分それは他の誰かのために役立つでしょう。次のコード(回答Moment.jsから-年、月、日の2つの誕生日の差を取得)は、問題の解決に役立ちました。
var start = moment("2016-05-04 13:00:00");
var end = moment("2018-05-04 13:00:00");
var years = end.diff(start, 'year');
start.add(years, 'years');
var months = end.diff(start, 'months');
start.add(months, 'months');
var days = end.diff(start, 'days');
start.add(days, 'days');
var hours = end.diff(start, 'hours');
start.add(hours, 'hours');
var minutes = end.diff(start, 'minutes');
console.log(years + " years " +
months + " months " +
days + " days " +
hours + " hours " +
minutes + " minutes ");
<script src="https://momentjs.com/downloads/moment.js"></script>
他の日付でも機能します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加