[英]moment.js date will add but time does not
我正在创建添加日期和时间的功能。 这些是变量:
var a = moment().format("MM/DD/YY");
var j = moment().format("hh:mm A");
var b = moment(a).format("MM/DD/YY");
var s = moment(j).format("hh:mm:ss");
var y = moment({ h: 23, m: 59}).format('hh:mm A');
功能如下:
function myFunction() {
var c = moment(b).add(1, 'day').format("MM/DD/YY");
document.getElementById("demo2").innerHTML = "<p></p>"+ "X: " +c + "<br>" + y;
b = c;
}
function myFunction1() {
var c = moment(b).add(1, 'month').format("MM/DD/YY");
document.getElementById("demo2").innerHTML ="<p></p>"+ "X: " +c + "<br>" + y;
b = c;
}
function myFunction2() {
var c = moment(b).add(1, 'year').format("MM/DD/YY");
document.getElementById("demo2").innerHTML ="<p></p>"+ "X: " +c + "<br>" + y;
b = c;
}
function myFunction3() {
var c = moment(a).format("MM/DD/YY")
document.getElementById("demo2").innerHTML = "<p></p>"+ "X: 00/00/00" + "<br>" + y;
b = c;
}
function myFunction5() {
var d = moment(y).add(1, 'hours').format("hh:mm A");
document.getElementById("demo2").innerHTML = "<p></p>"+ "X: "+ c + "<br>" + d;
y = d;
}
function myFunction6() {
var e = moment(y).add(1, 'min').format('hh:mm A');
document.getElementById("demo2").innerHTML = "<p></p>"+ "X: "+ c + "<br>" + e;
y = e;
}
添加1天,1个月和1年的功能以及清除(myFunction3)均起作用。 时间功能没有。 我从晚上11:59开始,希望分别增加小时和分钟。 我知道我的代码很粗糙,我还在学习。 谢谢
检查http://momentjs.com/docs/#/manipulating/add/
您的小时数附加功能应该可以使用,但“分钟”应拼写为“分钟”或使用速记“ m”。
感谢您的建议。 我在第二个功能中固定了分钟,这就是我如何使其工作的方式。 这与时间格式有关。
var y1 = moment({ h: 23, m: 59});
var y = y1.format('hh:mm A');
然后函数是这样的:
function myFunction5() {
var d1 = moment(y1).add(1, 'hours');
var d = d1.format('hh:mm A');
document.getElementById("demo2").innerHTML = "<p></p>"+ "X: "+ b + "<br>" + d;
y1 = d1;
}
function myFunction6() {
var e1 = moment(y1).add(1, 'minutes');
var e = e1.format('hh:mm A');
document.getElementById("demo2").innerHTML = "<p></p>"+ "X: "+ b + "<br>" + e;
y1 = e1;
}
我敢肯定有更好的方法,但是它的工作原理是这样的。
您在代码中多次犯相同的错误:
var a = moment().format("MM/DD/YY");
var b = moment(a).format("MM/DD/YY");
a
是一个字符串,因此当您将其传递到moment(a)
,您正在解析该字符串-这是不必要的。 这也容易出错,因为您没有将任何特定的输入格式作为第二参数传递给moment
函数。 如果您检查日志,则可能会看到一堆弃用警告。
还不清楚您要达到的目的,因为两个字符串无论如何都具有相同的输出格式。 如果您想开始新的一天,那就是这样的:
var now = moment();
var a = now.format("...");
var b = now.clone().startOf('day').format("...");
(用您选择的格式替换...
)
换句话说-不要混淆string
和moment
实例的使用,也不必在不需要时解析字符串。
您在所有功能中都犯了相同的错误。 另外,正如其他人指出的那样,请使用'minutes'
或'm'
,而不要使用'min'
。 有关更多详细信息,请参见文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.