1、问题背景
最近,做项目的过程中,遇到这样一个问题:利用JS对日期时间进行格式化时,页面出现了2015-02-07 hh:12:30,小时没有显示出数据;其中,hh换成HH时,有时小时位显示HH
var dayTime = $("#endTime").val();
var dtime = new Date(dayTime);
dtime.setTime(dtime.getTime()+365*100);
var date = new Date(dtime.getTime());
$("#endDate").val(date.fromat("yyyy-MM-dd hh:mm:ss"));
2、问题分析
(1)对于格式化时间,其中格式为:yyyy-MM-dd hh:mm:ss,hh是显示12小时进制的,如果是下午两点,会显示02;项目中出现上午六点,如下图:
显示框中直接显示hh:00:40,可能原因是格式不兼容
(2)格式为:yyyy-MM-dd HH:mm:ss,有时会出现2015-02-07 HH:12:30的情况
3、问题方法
利用常规方法,直接拼接日期时间
var dayTime = $("#endTime").val();
var dtime = new Date(dayTime);
dtime.setTime(dtime.getTime()+365*100);
var date = new Date(dtime.getTime());
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
var date1 = year+"-"+(month<10?"0"+month:month)+"-"+(day<10?"0"+day:day)+" "+(hour<10?"0"+hour:hour)+":"+(minute<10?"0"+minute:minute)+":"+(second<10?"0"+second:second);
$("#endDate").val(date1);