Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递到矩函数的日期增加1分钟_Javascript_Momentjs - Fatal编程技术网

Javascript 传递到矩函数的日期增加1分钟

Javascript 传递到矩函数的日期增加1分钟,javascript,momentjs,Javascript,Momentjs,我不是一个程序员,只是在尝试我的手在一些东西,因此请原谅,如果问题是愚蠢的 我正在使用javascript中的默认日期函数构造一个日期。我原以为我可以用它做任何事情,后来意识到我将不得不使用其他库来轻松地完成一些事情 在尝试时,我注意到了这种奇怪的行为 var d = new Date(); var DayinMS = 86400000 * 3; var ThisDate = d.getDate(); var ThisMonth = d.getMonth(); var ThisYear = d.

我不是一个程序员,只是在尝试我的手在一些东西,因此请原谅,如果问题是愚蠢的

我正在使用javascript中的默认日期函数构造一个日期。我原以为我可以用它做任何事情,后来意识到我将不得不使用其他库来轻松地完成一些事情

在尝试时,我注意到了这种奇怪的行为

var d = new Date();
var DayinMS = 86400000 * 3;
var ThisDate = d.getDate();
var ThisMonth = d.getMonth();
var ThisYear = d.getFullYear();
var StartDate = Date.parse(new Date(ThisYear, ThisMonth, ThisDate, 0, 0, 0, 0));
以上述方式创建了一个日期变量,因此时间字段中有0。我不知道是否有更好的方法来做到这一点

StartDate的产量1452105000000

var StarDate = new Date(StartDate).toString("d/MMM/yyyy");
我认为我可以用上述方法格式化日期,但StarDate的输出为2016年1月7日星期四00:00:00 GMT+0530

然后搜索了一下,决定使用moment.js

var newDate = moment(StartDate).format('DD/MM/YYYY HH:MM:SS');
newDate的输出为2016年1月7日00:01:00

var StarDate = new Date(StartDate).toString("d/MMM/yyyy");
我发现奇怪的是分钟计数器增加了1。我已经在firefox和chrome上进行了测试,结果相同。上面的代码可能不是很好,但逻辑上分钟计数器不应该增加,或者我真的忽略了什么


谢谢。

使用的是“MM”而不是“MM”。阅读错误。

分钟不是增加1,而是输出月份。传递到
format
的字符串区分大小写,
MM
是month,
MM
是minutes。在检查其他内容时,只需计算一分钟即可。:)谢谢。@JamestShorpe月份是0索引的,那么为什么“1”而不是“0”?编码时它们是0索引的,但是在格式化显示时,这是毫无意义的。