参考了https://blog.csdn.net/houlai_houlai/article/details/80320865
原本从数据库获取时间在js格式化,代码如下
function FormatDate (strTime) {
var date = new Date(strTime);
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes();
}
但是显示在页面上的时间总是多了14小时,找找资料才发现是这个问题
下行例子时间可能不是同一个,但格式是对的
数据库是2019-04-19 09:58:00,js转换前格式是Tue Apr 30 09:02:00 CST 2019转换后是2019-04-19 09:58
借鉴上述博客的代码
function dateToGMT(strDate){
var dateStr=strDate.split(" ");
var strGMT = dateStr[0]+" "+dateStr[1]+" "+dateStr[2]+" "+dateStr[5]+" "+dateStr[3]+" GMT+0800";
var date = new Date(Date.parse(strGMT));
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes();
}
发现解决了,下面还有一种没有测试,亲们可以看看
https://blog.csdn.net/u012463017/article/details/53378363
当然最简单的date.getHours()-14也可以
function FormatDate (strTime) {
var date = new Date(strTime);
var hour=date.getHours()-14;
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+hour+":"+date.getMinutes();
}
date.getHours()-14跨天应该出错,应该用整个时间-14
date = new Date(date.valueOf() - 60* 60 * 1000*14);// 当前时间减掉14小时
然后
return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes();