在开发中会经常遇到后台传来的日期格式为时间戳格式,那么如何使后台传来的时间戳转换成UI设计的日期格式呢?
以下是在前端开发中总结的方法:
使用时直接调用
如需要的时间格式为 5-4 14:45 那么直接调用该方法 timeStamp2String(createtime,9)
说明:time为要转换的日期时间戳,type为日期格式
以下为type说明(以2018年5月4日 12:30:00说明)
type参数 | 格式 | 说明 |
1 | XXXX年XX月XX日 | 显示为 2018年5月4日 |
2 | XXXX-XX-XX | 显示为 2018-5-4 |
3 | XX-XX | 显示月日 5-4 |
4 | XX | 只显示月 5 |
5 | XX | 只显示日 4 |
6 | XXXX.XX.XX XX:XX:XX | 显示为 2018.5.4 12:30:00 |
7 | XXXX-XX-XX XX:XX:XX | 显示为 2018-5-4 12:30:00 |
8 | XXXX-XX-XX XX:XX | 显示为 2018-5-4 12:30 |
9 | XX-XX XX:XX | 显示为 5-4 12:30 |
具体方法如下:
//转换日期格式
function timeStamp2String(time, type) {
var datetime = new Date();
datetime.setTime(time);
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
var date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
var hour = datetime.getHours() < 10 ? "0" + datetime.getHours() : datetime.getHours();
var minute = datetime.getMinutes() < 10 ? "0" + datetime.getMinutes() : datetime.getMinutes();
var second = datetime.getSeconds() < 10 ? "0" + datetime.getSeconds() : datetime.getSeconds();
if (type == '1') {
return year + "年" + month + "月" + date + "日";
}
if (type == '2') {
return year + "-" + month + "-" + date;
}
if (type == '3') {
return month + "-" + date;
}
if(type == '4'){
return month;
}
if(type == '5'){
return date;
}
if(type == '6'){
return year + "." + month + "." + date + " " + hour + ":" + minute + ":" + second;
}
if(type == '7'){
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}
if(type == '8'){
return year + "-" + month + "-" + date + " " + hour + ":" + minute;
}
if(type == '9'){
return month + "-" + date + " " + hour + ":" + minute;
}
}