Минуты с полуночи в Моментье
В чистом JS этот будет таким.
Как узнать количество минут с полуночи для данного объекта moment
(без выделения до Date
)?
- Необходимо учитывать DST
- Протокол должен быть округлен.
- Должно работать с местным временем (не конвертировать в UTC)
Ответы
Ответ 1
// Your moment
var mmt = moment();
// Your moment at midnight
var mmtMidnight = mmt.clone().startOf('day');
// Difference in minutes
var diffMinutes = mmt.diff(mmtMidnight, 'minutes');
По умолчанию момент # diff вернет число, округленное в меньшую сторону. Если вы хотите число с плавающей запятой, передайте true в качестве третьего аргумента. До 2.0.0, момент # diff возвращал округленное число, а не округленное число вниз.
Рассмотрим этот псевдокод, потому что я не проверял, учитывает ли это разницу летнее время.
Ответ 2
Это то, что у меня есть на данный момент:
if (!moment.isMoment(mmt)) {
return 0;
}
var hh = mmt.get('hour');
var mm = mmt.get('minute');
return hh*60 + mm;
Я не уверен, что он учитывает различные случаи краев; комментарий, если это так, или предоставить альтернативный ответ.
Ответ 3
let date = new Date();
let minutes = date.getHours() * 60 + date.getMinutes();
console.log(minutes);