日期分开显示08-05 12:06 当其中某个数字为个位数时用0补齐

在显示日期的时候作为一个前端只能默默承受产品的各种奇葩显示需求  什么只显示年月和时分,只显示月日和分秒,我就想问问你老老实实的让他年月日时分秒显示出来不行吗,好好的一家人非要把他们分开干什么,是不是。牢骚归牢骚但是产品大人的需求还是要老老实实的去实现,没办法这就是命,下面就是一个产品大人让我只显示月日和时分的需求。且在搞完之后测试大人一测发话了,如果我是8月17日9点5分进行操作的,你不能显示8-17 9:5  你要显示08-17 09:05 ,然后变又进行了优化,只是这个逻辑不是很复杂,好多插件都可以实现  但是对于一个只是某个地方用到这一块的来说 引用一个插件不合算,下面就是我实现的一个小例子

var _html = '';
$.ajax({
type:"get",
url:"",
async:true,
data:{
account:account1
},
beforeSend:function(){
$('#loading').css('display','block');
},
success:function(data){
// try{
console.log(data);
var datas = data.data.rechargeRecords;
if(datas.length== 0){
$('.noMessage').css('display','block');
}else{
for (var i = 0; i < datas.length; i++) {
var mytime = datas[i].gmtCreate;
var date = new Date(mytime);
var mouth=date.getMonth()+1;
if (mouth >= 1 && mouth <= 9) {
mouth = "0" + mouth;
}
var day=date.getDate();
if (day >= 1 && day <= 9) {
day = "0" + day;
}
var houre=date.getHours();
if (houre >= 0 && houre <= 9) {
houre = "0" + houre;
}
var minute=date.getMinutes();
if (minute >= 0 && minute <= 9) {
minute = "0" + minute;
}
var state = chargeStatusDesc(datas[i].chargeStatus);
// console.log(date)
// console.log(mytime)
_html += '<li>'
+'<div class="top">'
+'<div class="left">'+datas[i].cardNo+'</div>'
+'<div class="right">'+state+'</div>'
+'</div>'
+'<div class="bottom">'
+'<div class="left">'+ mouth +'-'+ day +'&nbsp;'+ houre+':' +minute+'</div>'
+'<div class="right">+<span>'+datas[i].amount+'</span></div>'
+'</div>'
+'</li>';
}

var a = $('.mui-table-view').append(_html);
}
// }catch(e){
// //TODO handle the exception
// }

},error:function(error){
$('#loading').css('display','none');
console.log(error.responseText);
},
complete:function(){
$('#loading').css('display','none');
},
});

因为带的有数据接口 要循环,首先要把后台返回的时间戳给他转化为时间格式,再截取自己想要的那一部分,然后判断他是否满足两位数,不过不满足就用0进行补位。最后拼接 渲染页面。

posted @ 2017-11-23 16:13  他像风  阅读(317)  评论(0编辑  收藏  举报