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

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

以下是完整的攻略:

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

在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实现购物车功能的攻略分为以下步骤: 1. 创建基础页面结构 首先需要创建一个基础页面结构,用来展示商品列表、购物车和结算按钮等元素。可以通过HTML和CSS实现页面的布局和样式。在页面上创建一个购物车DOM元素,以便后续通过JavaScript动态地向购物车添加商品。 2. 加载商品数据 可以通过AJAX或其他请求方式,从服务器获取商品数据并渲染到页面上…

    JavaScript 2023年6月11日
    00
  • java实现app签到功能

    实现App签到功能主要涉及到前端和后端两个方面的开发,其中前端主要负责 UI 设计和用户交互,后端主要负责数据存储和业务逻辑实现。 下面是一些具体的步骤和示例说明: 第一步:设计数据库表 在设计数据库表时,需要考虑到存储哪些数据以及如何进行查询。下面是一个简单的签到记录表: CREATE TABLE check_in_record ( id INT(11) …

    JavaScript 2023年5月28日
    00
  • 关于JavaScript中string 的replace

    下面是关于JavaScript中string的replace的详细攻略。 什么是replace replace() 方法是 JavaScript 中的字符串方法,它用于在字符串中查找一个指定的子串,并用另一个字符串替换它。这个替换过程是不影响原字符串,而是产生一个新的字符串。 replace() 方法接收两个参数:第一个是需要查找的子串或正则表达式,第二个是…

    JavaScript 2023年5月28日
    00
  • Document:getElementsByName()使用方法及示例

    当你需要获取带有相同名称的元素时(例如 input 标签),你可以使用 Document 对象的 getElementsByName() 方法。 语法 document.getElementsByName(name) 参数 name:元素的名称,字符串类型。 返回值 返回一个包含指定名称的所有元素的 NodeList(节点列表)。 示例一:获取单选按钮的状态…

    JavaScript 2023年6月10日
    00
  • JS 面向对象的5钟写法

    下面我来详细讲解一下“JS 面向对象的5种写法”的完整攻略。 前言 在JavaScript中,常用的面向对象的写法有5种,分别是原型链、Class、工厂模式、构造函数和混合模式。下面我们来分别介绍这五种写法。 1. 原型链 在JavaScript中,每个对象都有一个原型(也就是一个或者多个prototype)。使用原型链实现的继承是通过将一个类型的实例设置为…

    JavaScript 2023年5月27日
    00
  • 浅谈javascript面向对象程序设计

    浅谈JavaScript面向对象程序设计 什么是面向对象编程 面向对象编程(OOP)是一种编程模式,它将现实世界中的事物抽象为类,类与类之间进行交互与协作,通过封装、继承、多态等机制使得程序结构更加清晰、易于扩展与维护。 JavaScript中的面向对象 在JavaScript中,函数是一等公民,对象可以作为函数的参数或返回值,JavaScript中的面向对…

    JavaScript 2023年5月27日
    00
  • JavaScript实现打字游戏

    下面是JavaScript实现打字游戏的完整攻略: 1. 准备工作 在HTML文件中添加一个文本框和一个按钮 引入jQuery库 引入word-list.js文件,该文件包含了所有的单词列表 2. 获取输入的单词 当用户在文本框中进行输入后,点击按钮,会触发事件,调用checkWord()函数,该函数获取文本框中的输入值,将其和随机生成的单词进行比较,判断是…

    JavaScript 2023年5月19日
    00
  • javascript实现详细时间提醒信息效果的方法

    Javascript实现详细时间提醒信息效果的方法的攻略如下: 步骤一:准备工作 首先需要在html文件中导入jQuery库,并设置好需要添加时间提醒信息的容器。 <head> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js&quo…

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