0

現在、以下のコードは、日付の差が 1 か月以内の場合、「1 か月」の精度しか得られません。私がやりたいのは、差が1か月未満の場合、何日かを出力することです-「XX日」。次に、1日未満の場合は、何時間-「XX時間」を出力します。

どんな助けでも大歓迎です。ありがとう。

function getDateDiff(timestamp) {
    if (null == timestamp || timestamp == "" || timestamp == "undefined") return "?";
    var splitDate = ((timestamp.toString().split('T'))[0]).split('-');
    var d1 = new Date();
    var d1Y = d1.getFullYear();
    var d2Y = parseInt(splitDate[0], 10);
    var d1M = d1.getMonth();
    var d2M = parseInt(splitDate[1], 10);
    var diffInMonths = (d1M + 12 * d1Y) - (d2M + 12 * d2Y);
    if (diffInMonths <= 1) return "1 month";
    else if (diffInMonths < 12) return diffInMonths + " months";
    var diffInYears = Math.floor(diffInMonths / 12);
    if (diffInYears <= 1) return "1 year";
    else if (diffInYears < 12) return diffInYears + " years"
}
4

1 に答える 1