js 实现几分钟前、几小时前、几天前,以及几分钟后、几小时后、几天前后

    /* *
    *  把传入的时间戳与当前时间比较,计算几分钟前、几小时前、几天前,以及几分钟后、几小时后、几天前后
    *  unixtime 需要计算的时间戳,保留到秒
    * */
    function getDateTimeFormat(unixtime) {
        var currTime = Date.parse(new Date());;
        var time = ((parseInt(currTime)/1000) - parseInt(unixtime)) ;

        if(time > 0 ){
            // 少于一分钟
            if (time < 60) {
                return "等等";
            } 

            // 秒转分钟
            var minuies = time / 60;
            if (minuies < 60) {
                return Math.floor(minuies) + "分钟后";
            } 

            // 秒转小时
            var hours = time / 3600;
            if (hours < 24) {
                return Math.floor(hours) + "小时后";
            }
            //秒转天数
            var days = time / 3600 / 24;
            if (days < 30) {
                return Math.floor(days) + "天后";
            }
            //秒转月
            var months = time / 3600 / 24 / 30;
            if (months < 12) {
                return Math.floor(months) + "月后";
            }
            //秒转年
            var years = time / 3600 / 24 / 30 / 12;
            return Math.floor(years) + "年后";
        }else{
            time = Math.abs(time);
            // 少于一分钟
            if (time < 60) {
                return "刚刚";
            } 

            // 秒转分钟
            var minuies = time / 60;
            if (minuies < 60) {
                return Math.floor(minuies) + "分钟前";
            } 

            // 秒转小时
            var hours = time / 3600;
            if (hours < 24) {
                return Math.floor(hours) + "小时前";
            }
            //秒转天数
            var days = time / 3600 / 24;
            if (days < 30) {
                return Math.floor(days) + "天前";
            }
            //秒转月
            var months = time / 3600 / 24 / 30;
            if (months < 12) {
                return Math.floor(months) + "月前";
            }
            //秒转年
            var years = time / 3600 / 24 / 30 / 12;
            return Math.floor(years) + "年前";
        }

    };

原文地址:https://www.cnblogs.com/-mrl/p/9204996.html

时间: 2024-11-06 23:24:19

js 实现几分钟前、几小时前、几天前,以及几分钟后、几小时后、几天前后的相关文章

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

最近在做项目的时候,需要把后台返回的时间转换成几秒前.几分钟前.几小时前.几天前等的格式:后台返回的时间格式为:2015-07-30 09:36:10,需要根据当前的时间与返回的时间进行对比,最后显示成几秒前.几分钟前.几小时前.几天前的形式. 1.由于返回的时间是字符串格式,所以要先转换成时间戳 //字符串转换为时间戳 function getDateTimeStamp (dateStr) { return Date.parse(dateStr.replace(/-/gi,"/"))

js 显示友好的时间格式【刚刚、几秒前,几小时,几天前(3天内) 时间格式化】

/** * 毫秒转换友好的显示格式 * 输出格式:21小时28分钟15秒 * @param {[type]} time [description] * @return {[type]} [description] */ function timeToDate(time) { // 获取当前时间戳 var currentTime = parseInt(new Date().getTime()/1000); var diffTime = currentTime-time; var second =

js 仿朋友圈的时间显示 刚刚 几天前

function getDateDiff(dateStr) { var publishTime = getDateTimeStamp(dateStr) / 1000, d_seconds, d_minutes, d_hours, d_days, timeNow = parseInt(new Date().getTime() / 1000), d, date = new Date(publishTime * 1000), Y = date.getFullYear(), M = date.getMo

用python+selenium抓取微博24小时热门话题的前15个并保存到txt中

抓取微博24小时热门话题的前15个,抓取的内容请保存至txt文件中,需要抓取阅读数 #coding=utf-8 from selenium import webdriver import unittest from time import sleep class Weibo(unittest.TestCase): def setUp(self): self.dr = webdriver.Chrome() self.hot_list = self.get_weibo_hot_topic() sel

jquery.min.js v1.10.3版本autocomplete方法会在text前添加搜索出多少项的文本信息 要去除

http://stackoverflow.com/questions/13011127/how-to-remove-change-jquery-ui-autocomplete-helper-text How to remove/change JQuery UI Autocomplete Helper text? It seems that this is a new feature in JQuery UI 1.9.0, because I used JQuery UI plenty of ti

【web前端面试题整理02】前端面试题第二弹袭来,接招!(转)

前言 今天本来准备先了解下node.js的,但是, 看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端 面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 JavaScript编程题1.实现输出document对象中所有成员的名称和类型:2.如何获得一个DOM元素的绝对位置?(获得元素位置,不依赖框架)3.如何利用JS生成一个table?4.实现预加载一张图片,加载完成后显示在网页中并设定其高度为50px,宽度为50px:5.假设有一个4行td的tabl

JavaWeb项目放弃jsp?为什么要前后端解耦?为什么要前后端分离?

前戏 前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础.这个步骤是系统架构从猿进化成人的必经之路. 核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互. 名词解释:在互联网架构中,web服务器:一般指像nginx,ap

前向星和链式前向星

前向星和链式前向星 1.前向星 前向星是以存储边的方式来存储图,先将边读入并存储在连续的数组中,然后按照边的起点进行排序,这样数组中起点相等的边就能够在数组中进行连续访问了.它的优点是实现简单,容易理解,缺点是需要在所有边都读入完毕的情况下对所有边进行一次排序,带来了时间开销,实用性也较差,只适合离线算法.图一-2-4展示了图一-2-1的前向星表示法. 2.链式前向星(就是数组模拟链表) 链式前向星和邻接表类似,也是链式结构和线性结构的结合,每个结点i都有一个链表,链表的所有数据是从i出发的所有

【前向星】链式前向星实现以及它的遍历

深度理解链式前向星 链式前向星的构成由一个结构体(包括目标点.边权值和下一个同起点的边)和head数组(用于存放某点的第一条出边) 必要的时候还可以添加一个统计入度的数组,因为进行BFS DFS的时候是依靠点的出度和出边的邻接关系来进行的.假如有多于一个点的入度为0,那么将只能遍历到其中一个点以及往后的内容. 对于链式前向星:链式前向星每添加一条边就会更新head数组,使得head数组存放的总是最新添加的某点的出边,此出边的next总指向head数组之前存放的出边的序号. 我们输入边的顺序为:

前向星与链式前向星

这里借鉴了一些大佬的文章和代码,给出链接,谢谢 https://blog.csdn.net/ACdreamers/article/details/16902023 https://blog.csdn.net/wuhuajunbao/article/details/22589619 引言 一般来讲,图的常用存储结构有邻接矩阵,和邻接表,但我们知道邻接矩阵是好写但效率低,邻接表虽效率高但不好写,今天来讲一下图的另一只常用的存储结构:前向星和链式前向星,介于上述两种存储结构之间的一种比较中庸的存储结构