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

时间:2019-05-15 08:36:41

标签: javascript datetime momentjs

我想用moment.js四舍五入到最近的30分钟,以下是我当前的当前代码,目前无法正常工作。也许我没有正确的moment.js语法。当我使用javascript中的普通Date对象时,效果很好。

<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>

寻求帮助:)

1 个答案:

答案 0 :(得分:1)

var jetzt = moment().format('lll');

这将返回一个 string ,您不能在字符串对象上调用moment方法。所以这应该只是

var jetzt = moment();

还有这里

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

只需将jetzt.moment()替换为jetzt,然后-这是一个瞬间实例(现在)。

https://jsfiddle.net/n0kv2mxc/1/