答案 0 :(得分:56)
// Your moment
var mmt = moment();
// Your moment at midnight
var mmtMidnight = mmt.clone().startOf('day');
// Difference in minutes
var diffMinutes = mmt.diff(mmtMidnight, 'minutes');
默认情况下,moment#diff将返回向下舍入的数字。如果需要浮点数,请将true作为第三个参数传递。在2.0.0之前,时刻#diff返回舍入的数字,而不是向下舍入的数字。
考虑这个伪代码,因为我还没有测试,看看差异是否考虑了DST。
答案 1 :(得分:3)
这就是我现在所拥有的:
if (!moment.isMoment(mmt)) {
return 0;
}
var hh = mmt.get('hour');
var mm = mmt.get('minute');
return hh*60 + mm;
我不确定它是否考虑了各种边缘情况;如果是这种情况,请发表评论,或提供替代答案。