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

时间:2022-04-25 02:21:18

将时间戳转换为日期格式

var date = new Date(时间戳);获取一个时间对象。
下面是获取时间日期的方法
下面是获取时间日期的方法。
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)
更多好用的方法可以到这查找 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp。

比如我需要 2015-8-24_8-24-30这样的格式

function formatDate(datetime) {
var year = datetime.getFullYear(),
month = (datetime.getMonth() + 1 < 10) ? '0' + (datetime.getMonth() + 1):datetime.getMonth() + 1,
day = datetime.getDate() < 10 ? '0' + datetime.getDate() : datetime.getDate(),
hour = datetime.getHours() < 10 ? '0' + datetime.getHours() : datetime.getHours(),
min = datetime.getMinutes() < 10 ? '0' + datetime.getMinutes() : datetime.getMinutes(),
sec = datetime.getSeconds() < 10 ? '0' + datetime.getSeconds() : datetime.getSeconds();
return year + '-' + month + '-' + day + '_' + hour + '-' + min + '-' + sec;
}
这里datatime是Date对象,格式化 datetime = new Date(time); time是时间戳。

将日期格式转换为时间戳

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