用自然語言格式化經過的時間
在顯示時間戳時,用自然語言表達經過的時間可以更加人性化,例如“4 分鐘前”而不是“2023-03-08 14:05:03”。本文示範如何以這種簡潔易讀的方式格式化 JavaScript Date 物件。
提供的函數 timeSince 計算當前日期與給定日期之間的差異。然後,它根據經過的秒數將經過的時間分類為年、月、日、小時、分鐘或秒。
function timeSince(date) { var seconds = Math.floor((new Date() - date) / 1000); var interval = seconds / 31536000; if (interval > 1) { return Math.floor(interval) + " years"; } interval = seconds / 2592000; if (interval > 1) { return Math.floor(interval) + " months"; } interval = seconds / 86400; if (interval > 1) { return Math.floor(interval) + " days"; } interval = seconds / 3600; if (interval > 1) { return Math.floor(interval) + " hours"; } interval = seconds / 60; if (interval > 1) { return Math.floor(interval) + " minutes"; } return Math.floor(seconds) + " seconds"; }
例如:
var aDay = 24 * 60 * 60 * 1000; console.log(timeSince(new Date(Date.now() - aDay))); // "1 day ago" console.log(timeSince(new Date(Date.now() - aDay * 2))); // "2 days ago"
以上是如何在 JavaScript 中以自然語言格式化經過的時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!