版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csl125/article/details/80485237
在web开发中,我们经常需要用js将时间戳转yyyy-MM-dd HH-mm-ss类似的格式,这样才适合我们的观感,那么我们该如何在js中将时间戳转换成这种格式呢?其实很简单,我们开发一个时间戳工具类,如下:
第一种:最简单的是一个js时间格式的转换函数方法
- function formatDateTime(inputTime) {
- var date = new Date(inputTime*1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
- 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;
- };
然后这样在jsp或html页面调用这个js时间转换方法就可以了:
- formatDateTime(inputTime);
1. 将时间戳转换成日期格式:
1
2
3
4
5
6
7
8
9
10
11
12
|
function
timestampToTime(timestamp) {
var
date =
new
Date(timestamp * 1000);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
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();
return
Y+M+D+h+m+s;
}
timestampToTime(1403058804);
console.log(timestampToTime(1403058804));
//2014-06-18 10:33:24
|
注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。
2. 将日期格式转换成时间戳:
1
2
3
4
5
6
7
8
|
var
date =
new
Date(
'2014-04-23 18:55:49:123'
);
// 有三种方式获取
var
time1 = date.getTime();
var
time2 = date.valueOf();
var
time3 = Date.parse(date);
console.log(time1);
//1398250549123
console.log(time2);
//1398250549123
console.log(time3);
//1398250549000
|
以上三种获取方式的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒用000替代
以上三个输出结果可观察其区别
注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。