js时间戳与日期格式之间的互转

将时间戳转换成日期格式:

// 简单的一句代码
var date = new Date(时间戳); //获取一个时间对象  注意:如果是uinx时间戳记得乘于1000。比如php函数time()获得的时间戳就要乘于1000

/*----------下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了----------*/
date.getFullYear();//获取完整的年份(4位,1970)
date.getMonth();//获取月份(0-11,0代表1月,用的时候记得加上1)
date.getDate();//获取日(1-31)
date.getTime();//获取时间(从1970.1.1开始的毫秒数)
date.getHours();//获取小时数(0-23)
date.getMinutes();//获取分钟数(0-59)
date.getSeconds();//获取秒数(0-59)
//更多好用的方法可以到这查找 -> 点击这里


// 例子,比如需要这样的格式:yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds(); 
console.log(Y+M+D+h+m+s); //呀麻碟

//输出结果:2014-04-23 18:55:49

 

 

将日期格式转换成时间戳:

// 也很简单
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做
var arr = strtime.replace(/ |:/g, '-').split('-');
date = new Date(Date.UTC(arr[1], arr[2], arr[3], arr[4], arr[5]));

// 有三种方式获取
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);

// 三种获取的区别
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
// 比如上面代码输出的结果(一眼就能看出区别):
//    1398250549123
//    1398250549123
//    1398250549000 

注意:获取到的时间戳除于1000就可以获得unix的时间戳了,在传值给PHP时用得 

 

 

  

posted @ 2014-04-23 22:50  没有昵称哥  阅读(174)  评论(0编辑  收藏  举报