javascript时间戳是啥(JavaScript专题之跟着)-冯金伟博客园

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

时间戳是什么?

时间戳(timestamp)是指从格林威治时间1970年01月01日00时00分00秒(UTC/GMT的午夜,即北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

时间戳通常是一个字符序列,唯一地标识某一刻的时间。

日期转化成时间戳

var date = new Date('2014-04-23 18:55:49:123');
// 有三种方式获取
// 精确到毫秒
var time1 = date.getTime();
console.log(time1);//1398250549123
// 精确到毫秒
var time2 = date.valueOf();
console.log(time2);//1398250549123
// 只能精确到秒,毫秒用000替代
var time3 = Date.parse(date);
console.log(time3);//1398250549000

登录后复制

时间戳转成日期

function formatDate(date) {
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? '0' + m : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;    return y + '-' + m + '-' + d;//这里可以写格式
    //输出:2018-03-24
}

登录后复制

function timestampToTime(timestamp) {
    var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
    var D = date.getDate() + ' ';
    var h = date.getHours() + ':';
    var m = date.getMinutes() + ':';
    var s = date.getSeconds();    return Y+M+D+h+m+s;
}
timestampToTime(1403058804);
console.log(timestampToTime(1403058804));//2014-06-18 10:33:24

登录后复制

时间戳作用

1、单独比较两个日期大小

function compareDate(date1,date2){
    var oDate1 = new Date(date1);
    var oDate2 = new Date(date2);    
    if(oDate1.getTime() > oDate2.getTime()){
        console.log('date1大');
    } else {
        console.log('date2大');
    }
}
compareDate('2018-10-27','2018-10-28');

登录后复制

2、单独比较当天24小时的时间大小

function compareTime(t1,t2)  {  
    var date = new Date();  
    var a = t1.split(":");  
    var b = t2.split(":");  
    return date.setHours(a[0],a[1]) > date.setHours(b[0],b[1]);  
}  
console.log( compareTime("12:00","11:15") )

登录后复制

3、比较日期加时间大小

//比较日期,时间大小  
function compareCalendar(startDate, endDate) {   
    if (startDate.indexOf(" ") != -1 && endDate.indexOf(" ") != -1 ) {   
        //包含时间,日期  
        compareTime(startDate, endDate);               
    } else {   
        //不包含时间,只包含日期  
        compareDate(startDate, endDate);   
    }   
} 
function compareDate(checkStartDate, checkEndDate) {      
    var arys1= new Array();      
    var arys2= new Array();      
    if(checkStartDate != null && checkEndDate != null) {      
        arys1=checkStartDate.split('-');      
        var sdate=new Date(arys1[0],parseInt(arys1[1]-1),arys1[2]);      
        arys2=checkEndDate.split('-');      
        var edate=new Date(arys2[0],parseInt(arys2[1]-1),arys2[2]);      
        if(sdate > edate) {      
            alert("日期开始时间大于结束时间");         
            return false;         
        }  else {   
            alert("通过");   
            return true;      
        }   
    }      
} 
function compareTime(startDate, endDate) {   
    if (startDate.length > 0 && endDate.length > 0) {   
        var startDateTemp = startDate.split(" ");   
        var endDateTemp = endDate.split(" ");   
        var arrStartDate = startDateTemp[0].split("-");   
        var arrEndDate = endDateTemp[0].split("-");   
        var arrStartTime = startDateTemp[1].split(":");   
        var arrEndTime = endDateTemp[1].split(":");   
        var allStartDate = new Date(arrStartDate[0], arrStartDate[1], arrStartDate[2], arrStartTime[0], arrStartTime[1], arrStartTime[2]); 
        var allEndDate = new Date(arrEndDate[0], arrEndDate[1], arrEndDate[2], arrEndTime[0], arrEndTime[1], arrEndTime[2]);   
        if (allStartDate.getTime() >= allEndDate.getTime()) {   
            alert("startTime不能大于endTime,不能通过");   
            return false;   
        } else {   
            alert("startTime小于endTime,所以通过了");   
            return true;   
        }   
    } else {   
        alert("时间不能为空");   
        return false;   
    }   
}

登录后复制

【相关推荐:javascript学习教程

以上就是javascript时间戳是啥的详细内容,更多请关注风君子博客其它相关文章!