[英]Convert exact date to time ago using jquery - What format for the date?
我有一個靜態頁面,它將指定一個硬編碼的確切日期。 如果使用javascript,我想將此硬編碼的確切日期轉換為“time ago”。
例如:
3 hours ago
我的問題是,以什么格式的日期將javascript能夠最有效地轉換到前一段時間?
我會看看這篇文章: https : //stackoverflow.com/a/3177838/2895307
在其中,他只使用javascript Date()作為“timeSince()”函數的參數。 要從硬編碼字符串創建javascript日期,您可以使用以下格式:
var d1 = new Date(“1975年10月13日11:13:00”)
絕對unix時間戳是所有日期和時間計算的最佳格式,您可以稍后將結果轉換為更易讀的格式。
計算很簡單,您可以從過去事件的時間戳開始,例如:
var anHourAgo = Date.now() - 3600000;
然后從當前時間戳中減去該值,並獲得自該事件以來經過的毫秒數
Date.now() - anHourAgo
然后你可以將它傳遞給任何將這些毫秒轉換為小時,分鍾和秒的函數,這是一個需要幾秒鍾的例子並返回一個包含該信息的數組,另一個函數用零填充這些數字
var zeroPad = function(n){
return n.toString().replace(/^(\d)$/,'0$1');
};
var formatSecs = function(s){
var r = [
Math.floor(s / 3600),
Math.floor(s%3600 / 60),
Math.floor((s%3600)%60)
];
r.push(zeroPad(r[0])+':'+zeroPad(r[1])+':'+zeroPad(r[2]));
return r;
};
formatSecs函數需要秒而不是毫秒,你應該除以1000並舍入該數字,然后將該數字傳遞給函數
Math.round(Date.now() - anHourAgo) / 1000
最后,這是所有代碼的實際運行示例:
http://codepen.io/DavidVValdez/pen/axHGj
我希望這會有所幫助,歡呼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.