使用moment.js#javascript将时间舍入到最接近的30分钟

使用moment.js#javascript将时间舍入到最接近的30分钟,javascript,datetime,momentjs,Javascript,Datetime,Momentjs,我想用moment.js将时间缩短到最近的30分钟,下面是我目前无法使用的代码。也许我没有正确的moment.js语法。当我使用javascript中的普通日期对象时,它工作得很好 <script type="text/javascript" src="moment-with-locales.js"> var jetzt = moment().format('lll'); jetzt.seconds(0); jetzt.milliseconds(0); var minuten =

我想用moment.js将时间缩短到最近的30分钟,下面是我目前无法使用的代码。也许我没有正确的moment.js语法。当我使用javascript中的普通日期对象时,它工作得很好

<script type="text/javascript" src="moment-with-locales.js">


var jetzt = moment().format('lll');
jetzt.seconds(0);
jetzt.milliseconds(0);
var minuten = jetzt.minutes();
var minutenToAdd = 0;
if (minuten >= 0 && minuten <= 29)
{
    minutenToAdd = 30 - minuten;
}
else if (minuten >= 31 && minuten <= 59)
{
    minutenToAdd = 60 - minuten;
}
var MIN_IN_MS = 60000;
var HALF_HOUR_IN_MS = 3600000;

minutenToAdd = minutenToAdd * MIN_IN_MS;
var Datum = moment(jetzt.moment() + minutenToAdd).format('lll');
alert(Datum);




</script>

var jetzt=moment().format('lll');
杰特秒(0);
毫秒(0);
var minuten=jetzt.minutes();
var MinutentLoadd=0;
如果(分钟数>=0&&minuten=31&&minuten
这将返回一个字符串,您不能对字符串对象调用矩方法。因此,这需要

var jetzt = moment();
这里呢

var Datum = moment(jetzt.moment() + minutenToAdd).format('lll');
jetzt.moment()
需要被
jetzt
替换,然后-它已经是一个moment实例了(现在)


为什么要调用
jetzt.seconds(0)
一行两次?这甚至可以运行而不立即抛出错误吗?
格式
方法的返回值是字符串,不是吗?然后,您应该在这里为您试图调用的所有方法得到一个错误,因为字符串对象没有这些。@a.a.edited.millizes正好显示w浏览器控制台中应该会出现这样的情况——“Uncaught TypeError:jetzt.seconds不是函数”我做到了,仔细看,它位于左侧面板的参考资料下。如果没有嵌入矩库,它就会在
var jetzt=moment().format('lll');
上抛出一个错误。
var Datum = moment(jetzt.moment() + minutenToAdd).format('lll');