js处理时间(2016-9-16)的函数

function(time){
    var msOfDay = 24 * 3600 * 1000;
    var msOfHour = 3600 * 1000;
    var msOfMinute = 60 * 1000;
    if (!time) {
      return "未知时间";
    }
    //求时间差:
    time = new Date(time.replace(/-/g, "/")); //开始时间
    if (time.toJSON() == null) {
      return "未知时间";
    }
    // return time;

  var now = new Date(); //结束时间
  var diff = now.getTime() - time.getTime() //时间差的毫秒数
  if (diff < 0) {
    return "1分钟前";
  }
  //计算出相差天数
  var days = Math.floor(diff / msOfDay);
  if (days >= 7) {
    return $filter(‘date‘)(time, ‘yyyy-MM-dd‘);
  } else if (diff / msOfDay >= 1) {
    return days + "天前";
  } else if (diff / msOfHour >= 1) {
    var hours = Math.floor(diff / msOfHour);
    return hours + "小时前";
  } else {
    var minute = Math.floor(diff / (60 * 1000));
    if (minute == 0){
      return "刚刚";
    }
    return minute + "分钟前";
  }
  
}

这里有一点药提一下 在ios的safary 浏览器里面 Date() 函数的格式不能带有“-” ,比如(2015-10-03) 这种格式会报参数错误;

  使用replace(/-/g, "/")把格式更换一下就可以了

时间: 2024-10-28 04:56:13

js处理时间(2016-9-16)的函数的相关文章

JS中的日期内置函数

用JS中的日期内置函数实现在页面显示:“今天是:2013年9月26日14:32:45”. var date=new Date(Date.parse('9/26/2013 14:32:45'));   写出JS中声明对象的三种方法. Var obj={ name:名字, Say:function(){ Alert(‘sssss’); } }     Var obj=new Object();     Var obj={} Obj.name=’名字’; Obj.say=function(){ Ale

mysql练习题-2016.12.16

>>>>>>>>>> 练习时间:2016.12.16 编辑时间:2016-12-20-->22:12:08 题: 涉及:多表查询.exists.count().group by.order by 1.1 关系模式 学生student:   SNO:学号:   SNAME:姓名:   AGE:年龄 :   SEX:性别 课程course:CNO:课程代码,CNAME:课程名称,TEACHER:教师 学生成绩SC:SNO:学号,CNO:课程代码

【2016.3.16】作业 VS2015安装&单元测试(1)

首先说下本机配置. CPU:Intel Atom x5-z8300 @1.44GHz 内存:2GB 操作系统:Windows10 家庭版 32位 硬盘:32GB 然后开始怒装visual studio 2015 专业版. 首先会看到一个.iso文件的镜像,在Windows10 下可以直接用资源管理器打开. 打开后运行vs_professional. 然后出现下图界面 等了10分钟 安装位置建议不变,安装类型要选择自定义,如果选择默认,只安装了C#/VB Web,使用win32控制台要重新下载插件

js实现类似php中strtotime函数和timetostr的日期转换/互换功能

<script type="text/javascript">   //日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法一:   //摘取天上星:http://blog.csdn.net/zqtsx   function strtotime1(datetime){        var tmp_datetime = datetime.replace(/:/g,'-');        tmp_datetime

node源码详解(四) —— js代码如何调用C++的函数

声明:转载请保留声明头部并标明转载.并私信告知作者.原文:http://www.cnblogs.com/papertree/p/5285705.html 上面讲到node调用Script::Compile()和Script::Run()解析执行app.js,并把io操作和callback保存到default_loop_struct,那么app.js里面js代码如何调用C++的函数呢? 在4.2节进行解释,先在4.1节来点知识预热. 4.1 V8运行js代码的基础知识 —— V8的上下文 来看看g

Excel 2016中的新增函数之CONCAT

Excel 2016中的新增函数之CONCAT 在2016年1月功能更新中,EXCEL 2016新增几个常用重要函数,主要有:ifs,switch,maxifs,minifs,concat,textjoin等. 注意,要能使用上述函数,Office的版本很重要,并不是所有的Office 2016能使用.建议 在https://products.office.com/zh-CN/try试用Office 365,安装最新版的Office 2016. 你也可以在通过Office 365安装程序进行在线

2016/02/16 codes

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>2016/02/16 codes</title> <link rel="stylesheet" href="assets/reset.css"> <style> .slideOne{ width:

重操JS旧业第五弹:函数

函数在任何编程语言中起着非常重要的位置,因为他是功能的最小单元,在js中函数是一种类型 Function 1 申明与定义 显示声明:function cc(){};函数名其实是函数的一个指针,函数名某种意义上也就是function类型的一个变量,对于显示什么的函数,不管函数在文档什么位置都糊被js引擎预先加载到编译环境栈中: 也就是申明自动提前 函数表达式:var fun=function(){};对于表达式函数,起本质上变量指向了一个函数,但是呢,这个函数申明不会被提前加载到js引擎中提前编译

[js]利用闭包向post回调函数传参数

最近在闲逛校园XX站的时候,打算搞个破坏,试试有多少人还是用初始密码登陆.比较懒,所以直接打开控制台来写. 所以问题可以描述为: 向后端不断的post数据,id从1~5000自增,后端会根据情况来返回值res,需要把res=100的id输出. 最简单的想法是:for循环内部调用post数据 //错误示范 一 for(var i = 92000;i<92500;i++){ //直接借用一下网站内引用的jq $.post("login.php", { ts:"login&q