js时间戳转日期

在项目中可能需要到各式各样的日期格式,

比如:2018-1-5,2018-01-05,2018年1月5号......

而后台一般传过来的是时间戳,那么就需要我们把时间戳转换为日期

可以用时间戳在线转换工具,判断你转对了没

代码:

let create_time = parseInt(e) * 1000 //这里获得的时间戳是s,需要*1000
console.log(create_time)
//关键代码↓↓↓
let year = new Date(create_time).getFullYear();
let month = new Date(create_time).getMonth() + 1;
let date = new Date(create_time).getDate();
let hour = new Date(create_time).getHours();
let minute = new Date(create_time).getMinutes();
let second = new Date(create_time).getSeconds();
//关键代码↑↑↑
//然后根据自己的需要拼就可以了
if(month < 10) {month = "0" + month}
if(date < 10) {date = "0" + date}
if(hour < 10) {hour = "0" + hour}
if(minute < 10) {minute = "0" + minute}
if(second < 10) {second = "0" + second}
return year + "-" + month + "-" + date+" "+hour + ":" + minute+":"+second

备注:ES2017引入了字符串补全长度的功能,padStart()和padEnd()。接收两个参数,第一个参数是字符串的最小长度,第二个是补全的字符串。

上面的if代码可以改为

year=year.toString().padStart(2,'0')
month=month.toString().padStart(2,'0')
date=date.toString().padStart(2,'0')
hour=hour.toString().padStart(2,'0')
minute=minute.toString().padStart(2,'0')
second=second.toString().padStart(2,'0')

把代码封装一下使用:

1.vue使用

getCreatertime(e){
    let create_time = parseInt(e)
    let year = new Date(create_time).getFullYear();
    let month = new Date(create_time).getMonth() + 1;
    let date = new Date(create_time).getDate();
    let hour = new Date(create_time).getHours();
    let minute = new Date(create_time).getMinutes();
    let second = new Date(create_time).getSeconds();
    if(month < 10) {month = "0" + month}
    if(date < 10) {date = "0" + date}
    if(hour < 10) {hour = "0" + hour}
    if(minute < 10) {minute = "0" + minute}
    if(second < 10) {second = "0" + second}
    return year + "-" + month + "-" + date+" "+ hour + ":" + minute+":"+second
},
orderTime=this.getCreatertime(el.orderTime)  

2.

function timerun(create_time, fenge, start, end) {
	var create_time = parseInt(create_time) * 1000 //这里获得的时间戳是s,需要*1000  
	var obj = []
	var year = new Date(create_time).getFullYear();
	var month = new Date(create_time).getMonth() + 1;
	var date = new Date(create_time).getDate();
	var hour = new Date(create_time).getHours();
	var minute = new Date(create_time).getMinutes();
	var second = new Date(create_time).getSeconds();
	if(month < 10) {
		month = "0" + month
	}
	if(date < 10) {
		date = "0" + date
	}
	if(hour < 10) {
		hour = "0" + hour
	}
	if(minute < 10) {
		minute = "0" + minute
	}
	obj.push(year)
	obj.push(month)
	obj.push(date)
	obj.push(hour)
	obj.push(minute)
	obj.push(second)
	var b = obj.slice(start - 1, end);
	var qi = "";
	for(var i in b) {
		qi = qi + b[i] + fenge
	}
	qi = qi.substring(0, qi.length - 1)
	return qi
}	

使用:

create_time:时间戳,单位是秒

fenge:分隔符,如:"-",":"

start:开始的位数(年月日时分秒,依次是123456)

end:结束的位数(年月日时分秒,依次是123456)

猜你喜欢

转载自blog.csdn.net/yuyuking/article/details/78983559