当我使用新日期(2012,12,28,10,57,00)时,其结果为 2012年1月28日星期六10:57:00 GMT + 0530(印度标准时间)。为什么这个月是1月而不是12月。请帮我以正确的方式获取日期。
答案 0 :(得分:0)
表示月份的整数值,从0
January
11
December
开始。
12
再次Jan
,它继续......
根据您的comment,
var date = new Date(2012, 12, 28, 10, 57, 00)
//retruns Mon Jan 28 2013 10:57:00 GMT+0530 (India Standard Time)
此处month
和year
都会递增
所以我添加了这个条件
if (date.getMonth() === 0) {
//I'm setting date to Dec and decrease year by 1
date.setMonth(11);
date.setFullYear(date.getFullYear() - 1)
} else {
//for other decrease month by 1
date.setMonth(date.getMonth() - 1);
}
如果您要格式化为MM/dd/yyy HH:mm:ss
,请使用
var MM = ("0" + (date.getMonth() + 1)).slice(-2);
var dd = ("0" + date.getDate()).slice(-2);
var yyy = date.getFullYear();
var HH = ("0" + date.getHours()).slice(-2);
var mm = ("0" + date.getMinutes()).slice(-2);
var ss = ("0" + date.getSeconds()).slice(-2);
var final = MM + "/" + dd + "/" + yyy + " " + HH + ":" + mm + ":" + ss;
最后,请参阅
答案 1 :(得分:0)
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date。
构造函数new Date()
中的month参数的索引为“0”。所以12月将是12月(指数是11)+ 1个月=明年1月。