获取后台时间的处理

Posted share水边

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取后台时间的处理相关的知识,希望对你有一定的参考价值。

前段时间赶项目,突然遇到后台获取时间有八小时的一个差距,自己写了几种方法,也是怕自己忘记,所以分享出来

不多说,直接上代码

 

//获取当前的时间戳
    function transdate(endTime){
        var date=new Date();
        date.setFullYear(endTime.substring(0,4));
        date.setMonth(endTime.substring(5,7)-1);
        date.setDate(endTime.substring(8,10));
        date.setHours(endTime.substring(11,13));
        date.setMinutes(endTime.substring(14,16));
        date.setSeconds(endTime.substring(17,19));
        return Date.parse(date);
    }

//   var time=$("input").val();
    var time="2017-08-13T02:11:25";
    var sart="2017-08-13T04:12:40";
    var Time= new Date();
    var end=transdate(sart)-transdate(time);
//转化成时分秒00:00:00
    function hours(msd) {
        var time = parseFloat(msd) / 1000;
        var hours=parseInt(time / 3600.0);
        var minute=parseInt((parseFloat(time / 3600.0) -
            parseInt(time / 3600.0)) * 60);
        var second=parseInt((parseFloat((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60) -
            parseInt((parseFloat(time / 3600.0) - parseInt(time / 3600.0)) * 60)) * 60);
                time = fixZero(hours,2) + ":" + fixZero(minute,2) + ":" +
                    fixZero(second,2) ;
        return time;
    }
    console.log(Time);
    console.log(end);
    console.log(hours(end));
    console.log(time);
    console.log(transdate(time));
    console.log(Date.parse(Time));
//返回2017-01-01 01:01:00
    function   formatDate(now)   {
        var   now= new Date(now);
        var   year=now.getFullYear();
        var   month=now.getMonth()+1;
        var   date=now.getDate();
        var   hour=now.getHours();
        var   minute=now.getMinutes();
        var   second=now.getSeconds();
        return   year+"-"+fixZero(month,2)+"-"+fixZero(date,2)+" "+fixZero(hour,2)+":"+fixZero(minute,2)+":"+fixZero(second,2);
    }
//时间不足的地方补0
    function fixZero(num,length){
        var str=""+num;
        var len=str.length;     var s="";
        for(var i=length;i-->len;){
            s+="0";
        }
        return s+str;
    }
//得到时间2017-8-2 13:00:00
    function getDate(time1) {
        var tt=new Date(parseInt(time1)*1000).toLocaleDateString().replace(/\//g, "-") + " " + new Date(parseInt(time1)*1000).toTimeString().substr(0, 8);
        return tt;
    }
    var time1=transdate(time);
    var   d=new Date(parseInt(time1));
    console.log(getDate(time1));
    console.log(formatDate(time1));
    console.log(formatDate(Date.parse(Time)));

  

以上是关于获取后台时间的处理的主要内容,如果未能解决你的问题,请参考以下文章

替换或删除后台堆栈上现有片段的代码不起作用

获取后台时间的处理

在后台堆栈中多次防止相同的片段

在 iOS 上调用 sysctl 来获取后台进程列表是私人电话吗?

Android获取片段中的布局高度和宽度

Android服务在其仍处于活动状态时停止后台处理