zoukankan      html  css  js  c++  java
  • js N秒前,N分钟前,N小时前,N天前,N月前

    //注意:
    //我对原方法做了稍微改动,之前参数是时间戳,我改成了时间
    //然后在下面又转换成了时间戳,因为我数据库返回的就是时间
        timeago(dateTime) {
          //dateTimeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳。13位数的都是时间毫秒。
          var minute = 1000 * 60 //把分,时,天,周,半个月,一个月用毫秒表示
          var hour = minute * 60
          var day = hour * 24
          var week = day * 7
          var halfamonth = day * 15
          var month = day * 30
          var now = new Date().getTime() //获取当前时间毫秒
          var dateTimeStamp = new Date(dateTime)
          var diffValue = now - dateTimeStamp //时间差
    
          if (diffValue < 0) {
            return
          }
          var minC = diffValue / minute //计算时间差的分,时,天,周,月
          var hourC = diffValue / hour
          var dayC = diffValue / day
          var weekC = diffValue / week
          var monthC = diffValue / month
          var result = ''
          if (monthC >= 1 && monthC <= 3) {
            result = ' ' + parseInt(monthC) + '月前'
          } else if (weekC >= 1 && weekC <= 3) {
            result = ' ' + parseInt(weekC) + '周前'
          } else if (dayC >= 1 && dayC <= 6) {
            result = ' ' + parseInt(dayC) + '天前'
          } else if (hourC >= 1 && hourC <= 23) {
            result = ' ' + parseInt(hourC) + '小时前'
          } else if (minC >= 1 && minC <= 59) {
            result = ' ' + parseInt(minC) + '分钟前'
          } else if (diffValue >= 0 && diffValue <= minute) {
            result = '刚刚'
          } else {
            var datetime = new Date()
            datetime.setTime(dateTimeStamp)
            var Nyear = datetime.getFullYear()
            var Nmonth =
              datetime.getMonth() + 1 < 10
                ? '0' + (datetime.getMonth() + 1)
                : datetime.getMonth() + 1
            var Ndate =
              datetime.getDate() < 10
                ? '0' + datetime.getDate()
                : datetime.getDate()
            var Nhour =
              datetime.getHours() < 10
                ? '0' + datetime.getHours()
                : datetime.getHours()
            var Nminute =
              datetime.getMinutes() < 10
                ? '0' + datetime.getMinutes()
                : datetime.getMinutes()
            var Nsecond =
              datetime.getSeconds() < 10
                ? '0' + datetime.getSeconds()
                : datetime.getSeconds()
            result = Nyear + '-' + Nmonth + '-' + Ndate
          }
          return result
        },

    代码来自互联网

  • 相关阅读:
    在Linux上使用C语言编程获取IPv4地址及子网掩码
    使用gdb进行写操作
    [中英对照]The Art Of Reporting Bugs | 报bug的艺术
    [中英对照]Introduction to Remote Direct Memory Access (RDMA) | RDMA概述
    Intel万兆网卡背靠背连接ping不通那点事儿
    [中英对照]The sysfs Filesystem | sysfs文件系统
    图说单播,组播,广播,选播和地域播
    Ubuntu双网卡不双待攻略
    反汇编容易反编译难
    PHP之路——微信公众号授权获取用户信息
  • 原文地址:https://www.cnblogs.com/subendong/p/12194037.html
Copyright © 2011-2022 走看看