JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式

yizhihongxing

转换字符串格式的时间为类似“几秒前”、“几分钟前”、“几小时前”、“几天前”等格式,通常需要先将字符串格式的时间转换成时间戳,然后获取当前时间戳与字符串格式时间戳之间的差值,最后根据差值计算出对应的时间差,即可得到所需的格式化时间。

以下是完整的攻略:

步骤一:将字符串时间转换成时间戳

在JS中可以使用Date对象将字符串格式的时间转换成时间戳,具体代码如下:

var timestamp = new Date('2021/08/23 15:00:00').getTime();

这个例子中,将字符串格式的时间'2021/08/23 15:00:00'转换成了时间戳,存储在变量timestamp中。

步骤二:获取当前时间戳并计算时间差

获取当前时间戳可以使用JS中的Date对象的getTime()方法,代码如下:

var currentTimestamp = new Date().getTime();
var diff = currentTimestamp - timestamp;

这里的diff变量存储了当前时间戳与字符串时间戳之间的差值。

步骤三:计算时间差并输出格式化时间

计算时间差时,可以根据差值算出对应的秒、分钟、小时、天数等,然后输出格式化的时间。

以下是一个例子,其中timestamp表示要格式化的字符串格式的时间对应的时间戳:

function formatTime(timestamp) {
  // 获取当前时间戳
  var currentTimestamp = new Date().getTime();
  // 计算时间差
  var diff = currentTimestamp - timestamp;
  // 计算相差的秒数
  var seconds = Math.floor(diff / 1000);
  // 计算相差的分钟数
  var minutes = Math.floor(seconds / 60);
  // 计算相差的小时数
  var hours = Math.floor(minutes / 60);
  // 计算相差的天数
  var days = Math.floor(hours / 24);

  // 输出格式化时间
  if (seconds < 60) {
    return seconds + '秒前';
  } else if (minutes < 60) {
    return minutes + '分钟前';
  } else if (hours < 24) {
    return hours + '小时前';
  } else {
    return days + '天前';
  }
}

// 测试例子,输出格式化时间
console.log(formatTime(new Date('2021/08/23 15:00:00').getTime())); // 输出:4天前

上述例子中,传入的是字符串格式时间'2021/08/23 15:00:00'对应的时间戳,经过计算后输出了格式化时间"4天前"。如果传入的是当前时间戳,则输出格式化时间"刚刚"。

另一个例子,传入的是1970年1月1日00:00:00的时间戳,输出格式化时间"51年前":

console.log(formatTime(0)); // 输出:51年前

这是因为1970年1月1日00:00:00的时间戳为0,到现在(2021年8月27日)已经过了51年。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 精通JS正则表达式(推荐)

    精通JS正则表达式(推荐)攻略 什么是正则表达式? 正则表达式是一种用于匹配字符串模式的工具,它可以帮助我们对字符串进行复杂的匹配和替换操作。JavaScript中的正则表达式是由一个模式和一些可选的标志组成的。 正则表达式的语法 在 JavaScript 中,正则表达式是包含在斜杠之间的模式,如下所示: var pattern = /test/; // 匹…

    JavaScript 2023年6月10日
    00
  • JavaScript基础知识之方法汇总结

    JavaScript基础知识之方法汇总 本文旨在总结 JavaScript 中常用的方法,包含了数据类型转换、运算符、条件语句、循环语句、函数等多个方面的内容,适用于初学者以及复习巩固。下面按照不同的分类分别介绍。 数据类型转换 JavaScript 中不同数据类型之间会发生类型转换,常见的有以下几种: 字符串转数字:使用 Number() 或 parseI…

    JavaScript 2023年5月17日
    00
  • JavaScript 中如何实现大文件并行下载

    在 JavaScript 中实现大文件并行下载的过程中,我们可以采用以下步骤: 确定文件大小并分段下载 首先我们需要确定要下载的文件的总大小,以此作为参考分段下载文件。可以使用 XMLHttpRequest 中的 content-length 属性获取文件大小。 接着我们通过 Math.ceil(totalSize / segmentSize) 得出需要分成…

    JavaScript 2023年5月27日
    00
  • JS数组扁平化、去重、排序操作实例详解

    JS数组扁平化、去重、排序操作实例详解 在JS编程中,经常需要对数组进行处理,比如将一个多维数组“扁平化”成一维数组、去掉数组中的重复元素、按照一定规则排序等操作。本文将介绍如何在JS中实现数组的扁平化、去重和排序操作,并给出相应的代码示例。 JS数组扁平化 所谓的数组扁平化,就是将一个嵌套多层的数组变成一个一维数组。比如: const arr = [1, …

    JavaScript 2023年5月27日
    00
  • JavaScript实现五子棋游戏的方法详解

    JavaScript实现五子棋游戏的方法详解 五子棋游戏是一种流行的棋类游戏,通过JavaScript可以很方便地实现这个游戏。本文将详细讲解如何使用JavaScript实现五子棋游戏,并提供两个示例,帮助初学者更好地理解。 准备工作 在开始编写五子棋游戏之前,我们需要准备一些基本的工作,包括: 创建HTML页面:这是显示游戏界面的必要步骤。可以创建一个空的…

    JavaScript 2023年5月28日
    00
  • javascript数组去重的方法汇总

    针对“javascript数组去重的方法汇总”的话题,我将为您提供完整的攻略,并给出两条示例说明。 一、问题背景 在javascript开发中,很常见的问题是如何从一个数组中找出不重复的数据。数组去重在实际开发中非常有用,例如:从数据库中查询数据后想要去除相同项展示给用户,或者需要合并两个数组并去除重复项。本文将为大家总结一下常用的去重方法。 二、方法汇总 …

    JavaScript 2023年5月27日
    00
  • 一文详解JavaScript闭包典型应用

    一、JavaScript闭包基础概念 闭包指的是函数内部能够访问其外部作用域的一种机制。简单来说,闭包就是一个函数引用了其包含作用域中的变量(即使在该函数外部调用时也能够访问这些变量)。通常,一个函数执行完毕后,其内部变量将会释放,但如果该函数内部存在闭包,则这些变量仍然会被保存。 二、闭包的经典应用 实现函数记忆 函数记忆是一种用来缓存函数结果的技术。它可…

    JavaScript 2023年6月10日
    00
  • JavaScript比较同一天的时间大小实例代码

    在JavaScript中,可以使用Date对象来比较同一天的时间大小。以下是完整的攻略。 1. 创建Date对象 在比较和取得时间大小之前,需要先创建两个不同的Date对象表示不同的时间。可以使用以下方式创建Date对象: const date1 = new Date(‘2021-11-01 12:00:00’); const date2 = new Dat…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部