<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<!-- "2018-12-18T01:56:23.200Z" -->
<script>
/*
条件 ? true : 条件 ? true : 条件 ? true : false
1秒 1
time < 60 // 1分钟 60
time < 60 * 60 // 1小时 3600
time < 60 * 60 * 24 // 1天 86400
time < 60 * 60 * 24 * 7 // 1周 604800
time < 60 * 60 * 24 * 30 // 1月 2592000
time < 60 * 60 * 24 * 365 // 1年 31536000
59 59秒前
70 1分钟前
3700 1小时前
86300
拿着一个事件从后往前除 一旦有大于 1 就结束
*/
function formatTime (time) {
const d = new Date(time) // 获取到当前的时间对象
const t = Math.floor((Date.now() - d.getTime()) / 1000)
const arr = ['年', '月', '周', '天', '小时', '分钟', '秒']
const arrn = [31536000, 2592000, 604800, 86400, 3600, 60, 1]
// 遍历数据,根据数组中的值进行计算
for (let i = 0; i < arrn.length; i++) {
const day = Math.floor(t / arrn[i])
if (day != 0) {
return day + arr[i] + "前"
}
}
}
console.log(formatTime("2018-12-20T23:00:23.200Z"))
</script>
</body>
</html>