簡體   English   中英

如何在JavaScript中返回兩個日期(當前日期和輸入日期)之間的字符串差異?

[英]How to return a string difference between two dates (current date and input date) in JavaScript?

我有一個用JavaScript編寫的函數,用於獲取日/月/年小時/分鍾/秒AM / PM格式的日期時間。 我想要的是一個函數,它將允許我返回以下類型的字符串(1秒或5秒或2分鍾或4小時或1天或5個月或5年)。 這是一個示例代碼片段:

function (var inputDate)
{
    var difference = dateNow - inputDate;
    //1 second, or 5 seconds, or 2 minutes, or 4 hours, or 1 day, or 5 months, or 5 years - I want to return the highest difference between both dates (current date and the date, which I input)
    return string difference;
}

提前致謝!

我再次參加聚會很晚,但是正如@ user1950292所建議的,您可以減去兩個日期並設置差值格式。 就像是:

function dateDiffString(a,b) {
    var diff = (a.getTime() - b.getTime());
    var diffs = {
        years  : Math.floor((diff) / (1000 * 60 * 60 * 24 * 365)),
        months : Math.floor((diff) / (1000 * 60 * 60 * 24 * 30)),
        weeks  : Math.floor((diff) / (1000 * 60 * 60 * 24 * 7)),
        days   : Math.floor((diff) / (1000 * 60 * 60 * 24)),
        hours  : Math.floor((diff) / (1000 * 60 * 60)),
        mins   : Math.floor((diff) / (1000 * 60)),
        secs   : Math.floor((diff) / (1000))
    }
    //iterate through diffs to find first number > 0
    for (var prop in diffs) {
       if(diffs.hasOwnProperty(prop) && diffs[prop] > 0){
          return diffs[prop] + " " + prop;
       }
    }
}

var today = new Date();
var anotherDay = new Date("2013 12 13,11:52:39");
alert(dateDiffString(today,anotherDay));

http://jsfiddle.net/xuqNt/

您可以創建兩個Date對象並減去它們。 然后獲取結果的天,小時,分鍾,秒,然后選擇要輸出的結果。 我沒有代碼atm,但是Date用法非常直觀。

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM