JS 时间与时间戳转换(详解)

来源:互联网 发布:淘宝rol是指什么 编辑:程序博客网 时间:2024/06/03 19:23

判断一个变量是否是日期格式

var aa =new Date();    if(aa.constructor==Date){        alert("!");    }

获取时间
1)new Date( ); (当前时间)
2)new Date(“month dd,yyyy hh:mm:ss”); (以字符串形式创建日期对象)
例:var aa =new Date(“Jan 2,2008 19:41:40”);
var aa=new Date(“2008-1-2 19:41:40”);
可以只写年月日
3)new Date(yyyy,mth,dd,hh,mm,ss); (年月日 必选,时分秒毫秒 选填)

获取、设置时间对象中的年、月、日

     var myDate = new Date();          myDate.getYear();        //获取当前年份(2位)          myDate.getFullYear();    //获取完整的年份(4位,1970-????)          myDate.getMonth();      //获取当前月份(0-11,0代表1月)          myDate.getDate();        //获取当前日(1-31)          myDate.getDay();        //获取当前星期X(0-6,0代表星期天)          myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)          myDate.getHours();      //获取当前小时数(0-23)

set同理


unix时间戳

       unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数

时间转毫秒
parse()
可解析时间格式的字符串,时间。返回一个毫秒数(指定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数。)
精准到秒,毫秒为000

Date.parse() 是 Date 对象的静态方法。var v = Date.parse("Jul 8, 2005");var b = Date.parse("2017-04-18 09:16:15");var aa =new Date();d.innerHTML = Date.parse(aa);


getTime() 返回一个时间戳(指定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数。)

var aa =new Date();c.innerHTML = aa.getTime();var timestamp = (new Date()).valueOf();   

作用同getTime() 可判断毫秒
getTime比pares精准,parse到秒,gettime到毫秒

时间戳转时间 (时间格式字符串)

 //时间戳转时间   格式字符串function fmtDate(obj){ ​var date = new Date(obj);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;var h = date.getHours();h = h < 10 ? ('0' + h) : h;var minute = date.getMinutes();var second = date.getSeconds();minute = minute < 10 ? ('0' + minute) : minute;second = second < 10 ? ('0' + second) : second;return y + '-' + m + '-' + d +' '+h+':'+minute+':'+second;​};

比较两个时间相差几天、小时、分

function DateMin(sDate1, sDate2) { //sDate1和sDate2是yyyy-MM-dd格式var dateSpan,            tempDate,            iDays;        sDate1 = Date.parse(sDate1);        sDate2 = Date.parse(sDate2);        dateSpan = sDate2 - sDate1;        dateSpan = Math.abs(dateSpan);        iDays = Math.floor(dateSpan / (3600 * 1000));//自己改成天、小时、分        return iDays    }

比较两个时间大小

1)换成毫秒比较
获得一个日期几天后或者几天前的日期(小时,分)

var newdate = new Date();     var num =1;    var endtime = newdate.getTime() + (num * 24 * 60 * 60 * 1000);  //时间戳格式。  var d=new Date(date);   d.setDate(d.getDate()+days); //时间、分钟同理
原创粉丝点击