js之距离过去到现在时间表示

简介: 有时我们需要打印6分钟前的日期,但不希望很大的库来完成。这里有一个小片段可以做到这一点:
const fromAgo = (date) => {
  const ms = Date.now() - date.getTime();
  const seconds = Math.round(ms / 1000);
  const minutes = Math.round(ms / 60000);
  const hours = Math.round(ms / 3600000);
  const days = Math.round(ms / 86400000);
  const months = Math.round(ms / 2592000000);
  const years = Math.round(ms / 31104000000);

  switch (true) {
    case seconds < 60:
      return `${seconds} second(s) ago"`;
    case minutes < 60:
      return `${minutes} minute(s) ago"`;
    case hours < 24:
      return `${hours} hour(s) ago"`;
    case days < 30:
      return `${days} day(s) ago`;
    case months < 12:
      return `${months} month(s) ago`;
    default:
      return `${years} year(s) ago`;
  }
};

const createdAt = new Date(2021, 0, 5);
fromAgo(createdAt); // 14 day(s) ago;
目录
相关文章
|
JavaScript 数据格式
js 计算两个时间的时间差
如题,就像题目说的需要计算出时间差,虽然不太难,但这个需求经常会在项目中遇到的,我在这边做一下整理,希望能够尽量全的整理出来。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。 本文首发于我的个人blog:obkoro1.com 计算时间差原理: getTime()方法 方法定义: getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。 通常我们计算时间差都是通过获取两个时间数据,然后分别使用getTime()方法返回与固定的1970 年 1 月 1 日的时间差,通过对返回毫秒数的差,换算成时间单位,得出两个时间的时间差。 开始操作:
939 0
js 计算两个时间的时间差
|
前端开发 算法 JavaScript
LeetCode在既定时间做作业的学生人数使用JavaScript解题|前端学算法
LeetCode在既定时间做作业的学生人数使用JavaScript解题|前端学算法
83 0
LeetCode在既定时间做作业的学生人数使用JavaScript解题|前端学算法
实时显示日期、时间、城市天气(HTML+JS)
实时显示日期、时间、城市天气(HTML+JS)
737 0
实时显示日期、时间、城市天气(HTML+JS)
|
JavaScript 前端开发 Python
JavaScript:获取当前日期时间的字符串格式
JavaScript:获取当前日期时间的字符串格式
138 0
|
JavaScript
js时间排序函数(升序,降序)
js时间排序函数(升序,降序)
232 0
|
JavaScript
js获取当地时间并且拼接时间格式的三种方式
js获取当地时间并且拼接时间格式,在stackoverflow上有人在问,查了资料,各种方法将时间格式改成任意自己想要的样式。
298 0
|
JavaScript 前端开发
|
移动开发 JavaScript
JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
647 0
JS指定音频audio在某个时间点进行播放,获取当前音频audio的长度,音频时长格式转化
|
JavaScript 前端开发 API
Day.js轻量级 JavaScript 时间日期处理库可替代Moment.js
Day.js轻量级 JavaScript 时间日期处理库可替代Moment.js
145 0
|
JavaScript 前端开发
JavaScript获取当前日期时间及其它扩展操作(代码实现)
JavaScript获取当前日期时间及其它扩展操作(代码实现)
135 0