时间戳中newData().getTime()中在苹果上的问题

来源:互联网 发布:轩辕网络上市 编辑:程序博客网 时间:2024/06/03 21:53

1、今天遇到这么个问题,将时间转化为毫秒在苹果手机上出现NaN 情况

//在安卓上这个写可以获取到的var date = '2017-06-12';var time = new Date(date).getTime()/1000;//但在苹果手机上是不支持的,必须这样写:var time = new Date(date.replace(/-/g,'/')).getTime()/1000;

注意:获取毫秒后必须除以1000,这样就是时间正常转化的毫秒数

 2、将毫秒数转化为自己想要的格式

复制代码
//时间格式转化Date.prototype.format = function(format){    var date = {        "M+": this.getMonth() + 1,        "d+": this.getDate(),        "h+": this.getHours(),        "m+": this.getMinutes(),        "s+": this.getSeconds(),        "q+": Math.floor((this.getMonth() + 3) / 3),        "S+": this.getMilliseconds()    };    if (/(y+)/i.test(format)) {        format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));    }    for (var k in date) {        if (new RegExp("(" + k + ")").test(format)) {            format = format.replace(RegExp.$1, RegExp.$1.length == 1                ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));        }    }    return format;}//调用方法function callTime(nS,style){        var newDate = new Date();        newDate.setTime(nS * 1000);        return newDate.format(style);}callTime(nS,style);/*nS是指所转化为样式时间的毫秒数style 是指所形成的样式,例如:'yyyy年MM月dd日 hh:mm:ss','yyyy-MM-dd',等等注意:yyyy MM dd  hh mm ss ,它们中间可以加你想要的格式,也可以不写,它们其中任何一个 ,但是必须保证它们每个位数 ,比如不写 ss 那就不会显示秒*/                          
复制代码

3、将毫秒数转化为自己想要的格式,有时候还是满足不了需求,有时会提出想显示在几分钟前,几小时前,几个月前。遇到这样的需求不要怕,那么咋们继续处理

复制代码
//时间戳转 xx月前,xx分钟前 function timeConversion(time){        var minute = 60;        var hour = minute * 60;        var day = hour * 24;        var halfamonth = day * 15;        var month = day * 30;        var now = Math.round(new Date().getTime()/1000);        var diffValue = now - time;        if(diffValue < 0){return;}        var monthC =diffValue/month;        var weekC =diffValue/(7*day);        var dayC =diffValue/day;        var hourC =diffValue/hour;        var minC =diffValue/minute;        if(monthC>=1){            result="" + parseInt(monthC) + "月前";        }        else if(weekC>=1){            result="" + parseInt(weekC) + "周前";        }        else if(dayC>=1){            result=""+ parseInt(dayC) +"天前";        }        else if(hourC>=1){            result=""+ parseInt(hourC) +"小时前";        }        else if(minC>=1){            result=""+ parseInt(minC) +"分钟前";        }else            result="刚刚";        return result;    }//调用timeConversion(time) //time 是将要转化的毫秒
阅读全文
2 0
原创粉丝点击