嗨,我在jquery ajax中完成了日期格式。我从数据库中获取了值,并将dateformat转换为dd-MM-YYYY。现在的问题是,我正在上个月。例如:数据库值是2015-04-02,转换dateformat后我得到了02-03-2015。请帮助我。我的编码是。

var pcd_date = new Date(data.pcd_date),
yr = pcd_date.getFullYear(),
month = +pcd_date.getMonth() < 10 ? '0' + pcd_date.getMonth() : pcd_date.getMonth() ,
day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(),
pcddate = day + '-' + month + '-' + yr;

最佳答案

结果为0到11。

w3school


  getMonth()方法根据本地时间返回指定日期的月份(从0到11)。


您应该将1加到getMonth()使其从1到12,如下所示:

var pcd_date = new Date(data.pcd_date),
yr = pcd_date.getFullYear(),
month = +(pcd_date.getMonth() +1 ) < 10 ? '0' + (pcd_date.getMonth() +1 ) : (pcd_date.getMonth() +1 ),
day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(),
pcddate = day + '-' + month + '-' + yr;


或做一次:

var pcd_date = new Date(data.pcd_date),
yr = pcd_date.getFullYear(),
m = pcd_date.getMonth() +1,
month = +m < 10 ? '0' + m : m,
day = +pcd_date.getDate() < 10 ? '0' + pcd_date.getDate() : pcd_date.getDate(),
pcddate = day + '-' + month + '-' + yr;

09-25 18:38