数据库datetime时间前端显示格式化

后台查询数据库返回的这种时间格式2019-04-24T02:30:00.000+0000

第一种方法:

var time="2019-11-04T08:04:52.000+0000";
var d = new Date(time);
var times=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
输出 2019-11-04 15:59:10

 第二种方法:

function convertDate(date){
//date是传入的时间
  let d = new Date(date);
  let month = (d.getMonth() + 1) < 10 ? '0'+(d.getMonth() + 1) : (d.getMonth() + 1);
  let day = d.getDate()<10 ? '0'+d.getDate() : d.getDate();
  let hours = d.getHours()<10 ? '0'+d.getHours() : d.getHours();
  let min = d.getMinutes()<10 ? '0'+d.getMinutes() : d.getMinutes();
  let sec = d.getSeconds()<10 ? '0'+d.getSeconds() : d.getSeconds();
  let times=d.getFullYear() + '-' + month + '-' + day + ' ' + hours + ':' + min + ':' + sec;
  return times
}

第三种方法:

var dataee=new Date("2019-01-25T01:30:00.000+0000").toJSON();
console.log(dataee);
var date = new Date(+new Date(dataee)+8*3600*1000).toISOString().replace(/T/g,' ').replace(/\.[\d]{3}Z/,'');
//alert(date);
console.log(date);

另有:如果时间是09:00:00 ,你这样转之后显示的是9:0:0

2019-11-04T00:00:00.000+0000

转换后:"2019-11-04 8:0:0"

解决办法(网友提供):加个判断就可以了 例如月(d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1)

dateTime(rowData){
    // console.log(rowData)
    var d = new Date(rowData)
    // var a= d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();                                     /*d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1*/
    var a= d.getFullYear() + '-' + (d.getMonth() + 1 < 10 ? "0" + (d.getMonth() + 1) : d.getMonth() + 1) + '-' + (d.getDate()<10 ? "0" +d.getDate():d.getDate())+ ' ' + (d.getHours()<10 ?"0"+d.getDate():d.getDate()) + ':' + (d.getMinutes()<10 ? "0" + d.getMinutes(): d.getMinutes()) + ':' + (d.getSeconds()<10 ? "0" + d.getSeconds() : d.getSeconds() );
    // console.log(a)
    return a
},

以上是前端js的解决方法:

下面考虑Java后端转换时间格式:

SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-DD'T'HH:mm:ss.sssZ");
Date date = formatter.parse("2019-11-05T01:30:00.000+0000");
System.out.println(date);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sDate=sdf.format(date);
System.out.println(sDate);

成功!

你可能感兴趣的:(java,javascript,jquery,数据库datetime,时间格式转换)