0
目前我與返回我在這個格式的日期(created_at)的API時這種格式的日期和我可以從new Date()
收到的當前日期之間的差異。獲取JS 2個日期之間的差異
而且差應在格式像這樣的例子:
2 hours ago, 10 days ago.
它是一個內置的功能JS?或者我怎樣才能做出這個計算並以適當的格式得到答案?
請幫忙。
目前我與返回我在這個格式的日期(created_at)的API時這種格式的日期和我可以從new Date()
收到的當前日期之間的差異。獲取JS 2個日期之間的差異
而且差應在格式像這樣的例子:
2 hours ago, 10 days ago.
它是一個內置的功能JS?或者我怎樣才能做出這個計算並以適當的格式得到答案?
請幫忙。
下面的代碼將工作,假設dateB在dateA之後,否則差異將是負數,您將不得不處理該問題。
這對你來說可能是一個很好的開端,可悲的是沒有內建的東西,因爲你試圖獲得差異(以毫秒爲單位),並將其轉換爲不同的統一體。
祝你好運,希望它有幫助。
var dateA = new Date("07/06/2017");
var dateB = new Date("10/06/2017");
var difference = dateB - dateA;
var differenceUnit = "milisecond";
if(difference >= 1000) {
\t difference = difference/1000;
\t differenceUnit = "second";
\t
\t if(difference > 60) {
\t \t difference = difference/60;
\t \t differenceUnit = "minute";
\t \t if(difference > 60) {
\t \t \t difference = difference/60;
\t \t \t differenceUnit = "hour";
\t \t \t if(difference > 24) {
\t \t \t \t difference = difference/24;
\t \t \t \t differenceUnit = "day";
\t \t \t }
\t \t }
\t }
}
difference = difference.toFixed(0);
console.log("difference is: ", difference, (difference > 1 ? differenceUnit + "s" : differenceUnit))
我總是建議'moment.js'這些在JS各種各樣的事情。本身做這件事相當麻煩。 –
你問的問題是重複的。在解析日期:[*爲什麼Date.parse給出不正確的結果?](https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results)在獲取日期差異在「友好的「格式:[* Javascript模糊時間(例如'10分鐘前'),精確秒數*](https://stackoverflow.com/questions/11479170/javascript-fuzzy-time-eg-10-minutes-ago-這就是合精確 - 秒)。 – RobG
實際上是一樣的RobG。 請再讀一遍我的問題。我在談論日期時間格式的差異... –